00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_ATOM_PROP_HH
00020 #define OST_ATOM_PROP_HH
00021
00022 #include <map>
00023 #include <ost/mol/module_config.hh>
00024 #include <ost/geom/mat3.hh>
00025
00026 namespace ost { namespace mol { namespace impl {
00027
00028
00029 class DLLEXPORT_OST_MOL AtomProp {
00030 public:
00031 AtomProp()
00032 : radius(0.0), charge(0.0), mass(0.0), has_anisou(false), is_default(true),
00033 anisou(geom::Mat3())
00034 {
00035 }
00036 AtomProp(Real r, Real m, Real c=0.0): radius(r), charge(c),
00037 mass(m), has_anisou(false), is_default(true)
00038 { }
00039 AtomProp(const AtomProp& rhs): radius(rhs.radius), charge(rhs.charge),
00040 mass(rhs.mass), has_anisou(rhs.has_anisou), is_default(rhs.is_default),
00041 anisou(rhs.anisou)
00042 { }
00043 Real radius;
00044 Real charge;
00045 Real mass;
00046 bool has_anisou;
00047 bool is_default;
00048 geom::Mat3 anisou;
00049
00050 static AtomProp* GetDefaultProps(const String& ele);
00051
00052 private:
00053 static void Init();
00054 static std::map<String, AtomProp> defaults_;
00055 };
00056
00057 }}}
00058
00059 #endif
00060