BALL  1.4.1
charmmEEF1.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 // Molecular Mechanics Parameter: class describing parameters needed 
00006 // for the EEF1 solvation component in the CHARMM force field
00007  
00008 #ifndef BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
00009 #define BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
00010 
00011 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00012 # include <BALL/FORMAT/parameterSection.h>
00013 #endif
00014 
00015 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
00016 # include <BALL/MOLMEC/PARAMETER/atomTypes.h>
00017 #endif
00018 
00019 namespace BALL 
00020 {
00028   class BALL_EXPORT CharmmEEF1 
00029     : public ParameterSection
00030   {
00031     public:
00032 
00035     struct Values 
00036     {
00038       float V;
00040       float dG_ref;
00042       float dG_free;
00044       float r_min;
00046       float sig_w;
00048       float dH_ref;
00050       float Cp_ref;
00051     };
00052 
00055     struct Data
00056     {
00058       Atom*   atom;
00060       Values  values;
00061     };
00062 
00063 
00067 
00070     CharmmEEF1() ;
00071 
00074     CharmmEEF1(const CharmmEEF1& charmm_EEF1) ;
00075 
00078     virtual ~CharmmEEF1() ;
00079 
00082     virtual void clear() ;
00083 
00085 
00092     virtual bool extractSection(ForceFieldParameters& parameters, 
00093         const String& section_name) ;
00094 
00097     virtual bool extractSection(Parameters& parameters, 
00098         const String& section_name) ;
00099 
00102     bool hasParameters(Atom::Type I) const ;
00103     
00106     CharmmEEF1::Values getParameters(Atom::Type I) const ;
00107     
00112     bool assignParameters(CharmmEEF1::Values& parameters, Atom::Type I)
00113       const ;
00114 
00118 
00121     const CharmmEEF1& operator = (const CharmmEEF1& charmm_EEF1) ;
00122 
00124 
00127 
00130     bool operator == (const CharmmEEF1& charmm_EEF1) const ;
00131 
00133 
00134     protected:
00135 
00136     //_ ?????
00137     Size          number_of_atom_types_;
00138 
00139     //_ ?????
00140     float*        V_;
00141     
00142     //_ ?????
00143     float*        dG_ref_;
00144     
00145     //_ ?????
00146     float*        dG_free_;
00147 
00148     //_ ?????
00149     float*        dH_ref_;
00150 
00151     //_ ?????
00152     float*        Cp_ref_;
00153 
00154     //_ ?????
00155     float*        sig_w_;
00156 
00157     //_ ?????
00158     float*        R_min_;
00159     
00160     //_ ?????
00161     bool*         is_defined_;
00162   };
00163 } // namespace BALL
00164 
00165 #endif // BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines