MTK++ Latest version: 0.2.0

atomType.h
Go to the documentation of this file.
00001 
00033 #ifndef ATOMTYPE_H
00034 #define ATOMTYPE_H
00035 
00036 
00037 #include <iostream>
00038 #include <string>
00039 #include <map>
00040 #include <algorithm>
00041 
00042 namespace MTKpp
00043 {
00044 
00045 // ============================================================
00046 // Struct : atomType()
00047 // ------------------------------------------------------------
00054 // ============================================================
00055 struct atomTypeTMP
00056 {
00058     std::string name;
00059 
00061     std::string element;
00062 
00064     double mass;
00065 
00067     std::string hybridization;
00068 
00070     std::string description;
00071 
00073     double rvalue;
00074 
00076     double evalue;
00077 
00079     double atomPolarizability;
00080 };
00081 
00082 // ============================================================
00083 // Class : atomTypes()
00084 // ------------------------------------------------------------
00091 // ============================================================
00092 class atomTypes
00093 {
00094 public:
00095      atomTypes();
00096      virtual ~atomTypes();
00097 
00098      void      setName(const std::string);
00099 
00100      atomTypeTMP* addAtomType();
00101      void      setAtomTypeName(const std::string);
00102      atomTypeTMP* getAtomType(const std::string);
00103 
00104 protected:
00105     std::string itsName;
00106     // - MAP CONTAINER - //
00107     std::map<std::string, atomTypeTMP*> itsAtomTypeMap;
00108 
00109     // - MAP ITERATORS - //
00110     typedef std::map<std::string, atomTypeTMP*>::iterator atomTypeMapIterator;
00111 
00112     // - POINTERS - //
00113     atomTypeTMP* pAtomType;
00114 };
00115 
00116 } // MTKpp namespace
00117 
00118 #endif // ATOMTYPE_H

Generated on Fri Dec 23 2011 09:28:49 for MTK++ by Doxygen 1.7.5.1