00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
00011 #define BALL_MOLMEC_PARAMETER_CHARMMEEF1_H
00012
00013 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00014 # include <BALL/FORMAT/parameterSection.h>
00015 #endif
00016
00017 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
00018 # include <BALL/MOLMEC/PARAMETER/atomTypes.h>
00019 #endif
00020
00021 namespace BALL
00022 {
00030 class BALL_EXPORT CharmmEEF1
00031 : public ParameterSection
00032 {
00033 public:
00034
00037 struct Values
00038 {
00040 float V;
00042 float dG_ref;
00044 float dG_free;
00046 float r_min;
00048 float sig_w;
00050 float dH_ref;
00052 float Cp_ref;
00053 };
00054
00057 struct Data
00058 {
00060 Atom* atom;
00062 Values values;
00063 };
00064
00065
00069
00072 CharmmEEF1() ;
00073
00076 CharmmEEF1(const CharmmEEF1& charmm_EEF1) ;
00077
00080 virtual ~CharmmEEF1() ;
00081
00084 virtual void clear() ;
00085
00087
00094 virtual bool extractSection(ForceFieldParameters& parameters,
00095 const String& section_name) ;
00096
00099 virtual bool extractSection(Parameters& parameters,
00100 const String& section_name) ;
00101
00104 bool hasParameters(Atom::Type I) const ;
00105
00108 CharmmEEF1::Values getParameters(Atom::Type I) const ;
00109
00114 bool assignParameters(CharmmEEF1::Values& parameters, Atom::Type I)
00115 const ;
00116
00120
00123 const CharmmEEF1& operator = (const CharmmEEF1& charmm_EEF1) ;
00124
00126
00129
00132 bool operator == (const CharmmEEF1& charmm_EEF1) const ;
00133
00135
00136 protected:
00137
00138
00139 Size number_of_atom_types_;
00140
00141
00142 float* V_;
00143
00144
00145 float* dG_ref_;
00146
00147
00148 float* dG_free_;
00149
00150
00151 float* dH_ref_;
00152
00153
00154 float* Cp_ref_;
00155
00156
00157 float* sig_w_;
00158
00159
00160 float* R_min_;
00161
00162
00163 bool* is_defined_;
00164 };
00165 }
00166
00167 #endif // BALL_MOLMEC_PARAMETER_CHARMMEEF1_H