45#ifndef TYPES_ATOMTYPE_HPP
47#define TYPES_ATOMTYPE_HPP
72 virtual void useBase(
AtomType* base);
73 virtual void copyAllData(
AtomType* orig);
74 void setMass(RealType m);
76 void setIdent(
int id);
78 void setName(
const string& name);
80 std::vector<AtomType*> allYourBase();
81 std::vector<AtomType*> allYourZIG() {
return everyZIG; }
82 void addZig(
AtomType* at) { everyZIG.push_back(at); }
89 void addProperty(std::shared_ptr<GenericData> genData);
124 bool isLennardJones();
125 bool isElectrostatic();
128 bool isFixedCharge();
129 bool isDirectional();
135 bool isStickyPower();
139 bool isFluctuatingCharge();
147 vector<AtomType*> everyZIG;
148 map<string, bool> myResponsibilities_;
149 map<string, RealType> myValues_;
164 return lhs->getIdent() < rhs->getIdent();
168 using AtomTypeSet = std::set<AtomType*, AtomTypeCompare>;
AtomType is what OpenMD looks to for unchanging data about an atom.
std::shared_ptr< GenericData > getPropertyByName(const string &propName)
Returns property.
std::vector< std::shared_ptr< GenericData > > getProperties()
Returns all of the properties in PropertyMap.
void removeProperty(const string &propName)
Removes property from PropertyMap by name.
bool hasProperty(const string &propName)
Checks if property is in this PropertyMap.
std::vector< string > getPropertyNames()
Returns all names of properties.
void addProperty(std::shared_ptr< GenericData > genData)
Adds property into property map.
PropertyMap class maintains a list of GenericData.
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.