docs: def registerAtomType(self, parameters):
          """Register a new atom type. """
          name = parameters['name']
          if name in self._atomTypes:
              raise ValueError('Found multiple definitions for atom type: ' + name)
          atom_class = parameters['class']
          mass = _convertParameterToNumber(parameters['mass'])
          element = None
          if 'element' in parameters:
              element, custom = self._create_element(parameters['element'], mass)
              if custom:
                  self.non_element_types[element.symbol] = element
  
          self._atomTypes[name] = self.__class__._AtomType(name, atom_class, mass, element)
          if atom_class in self._atomClasses:
              type_set = self._atomClasses[atom_class]
          else:
              type_set = set()
              self._atomClasses[atom_class] = type_set
          type_set.add(name)
          self._atomClasses[''].add(name)
  
          name = parameters['name']
          if 'def' in parameters:
              self.atomTypeDefinitions[name] = parameters['def']
          if 'overrides' in parameters:
              overrides = set(atype.strip() for atype
                              in parameters['overrides'].split(","))
              if overrides:
                  self.atomTypeOverrides[name] = overrides
          if 'des' in parameters:
              self.atomTypeDesc[name] = parameters['desc']
          if 'doi' in parameters:
              dois = set(doi.strip() for doi in parameters['doi'].split(','))
              self.atomTypeRefs[name] = dois