PLearn 0.1
Template.h
Go to the documentation of this file.
00001 #ifndef Template_INC
00002 #define Template_INC
00003 
00004 #include <plearn/math/TMat_maths.h>
00005 #include <string>
00006 #include "Molecule.h"
00007 
00008 namespace PLearn {
00009 
00010 class Template;
00011 typedef PP< Template > MoleculeTemplate;
00012 
00013 class Template : public Molecule{
00014 
00015 private:
00016                 typedef Molecule inherited;
00017 
00018 
00019     public:
00020         //the properties of the template
00021         PLearn::Mat dev;
00022         
00023         Template(); 
00024         /*
00025         Template(const Template &  t) {
00026                     
00027             chem.resize(t.chem.length(), t.chem.width() ) ; 
00028             chem << t.chem ; 
00029 
00030             geom.resize(t.geom.length(), t.geom.width() ) ; 
00031             geom << t.geom ; 
00032             
00033             dev.resize(t.dev.length(), t.dev.width() ) ; 
00034             dev << t.dev ; 
00035         }
00036         */
00037                 // virtual ~Template() {}
00038 
00039 private: 
00041   void build_();
00042 
00043 protected: 
00045   static void declareOptions(OptionList& ol);
00046 
00047 public:
00048   // Declares other standard object methods.
00049   PLEARN_DECLARE_OBJECT(Template);
00050 
00051   // simply calls inherited::build() then build_() 
00052   virtual void build();
00053 
00055   virtual void makeDeepCopyFromShallowCopy(CopiesMap& copies);
00056 
00057 
00058 
00059 };
00060 // Declares a few other classes and functions related to this class
00061 DECLARE_OBJECT_PTR(Template);
00062 
00063 }
00064 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines