MTK++ Latest version: 0.2.0

stdGroup.h
Go to the documentation of this file.
00001 
00033 #ifndef STDGROUP_h
00034 #define STDGROUP_h
00035 
00036 #include <iostream>
00037 #include <string>
00038 #include <vector>
00039 
00040 namespace MTKpp
00041 {
00042 
00043 class stdLibrary;
00044 class stdFrag;
00045 class molecule;
00046 
00047 // ============================================================
00048 // Class : stdGroup()
00049 // ------------------------------------------------------------
00050 // Class stdGroup - Container for stdFrag.
00051 // ============================================================
00052 
00053 class stdGroup
00054 {
00055 public:
00056 
00061     stdGroup(stdLibrary *parent = 0);
00062 
00064     virtual ~stdGroup();
00065 
00070     stdLibrary*              getParent();
00071 
00076     void                     setName(const std::string& name);
00077 
00082     std::string              getName();
00083 
00088     void                     setInfo(const std::string& info);
00089 
00094     std::string              getInfo();
00095 
00100     virtual stdFrag*         addStdFrag();
00101 
00107     virtual stdFrag*         addStdFrag(stdFrag* f);
00108 
00114     void                     appendStdFrag(stdFrag* s);
00115 
00120     virtual stdFrag*         getStdFrag(const std::string& name);
00121 
00127     bool                     hasStdFrag(const std::string& name);
00128 
00133     std::vector<stdFrag*>    getStdFragList();
00134 
00138     void                     generateSimpleFP();
00139 
00143     void                     generateAdjMatrices();
00144 
00149     bool                     hasStdMolecule();
00150 
00155     void                     setStdMolecule(molecule* m);
00156 
00161     molecule*                getStdMolecule();
00162 
00167     double                   getCharge();
00168 
00169 protected:
00171     stdLibrary*              pParent;
00172 
00174     std::string              itsName;
00175 
00177     std::string              itsInfo;
00178 
00180     typedef std::vector<stdFrag*>::iterator stdFragIterator;
00181 
00183     std::vector<stdFrag*>    itsStdFragList;
00184 
00186     stdFrag*                 pStdFrag;
00187 
00189     molecule*                pMolecule;
00190 };
00191 
00192 } // MTKpp namespace
00193 
00194 #endif // STDGROUP_H
00195 

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