00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_MOLMEC_PARAMETER_POTENTIAL1210_H
00008 #define BALL_MOLMEC_PARAMETER_POTENTIAL1210_H
00009
00010 #ifndef BALL_FORMAT_PARAMETERSECTION_H
00011 # include <BALL/FORMAT/parameterSection.h>
00012 #endif
00013
00014 #ifndef BALL_MOLMEC_PARAMETER_ATOMTYPES_H
00015 # include <BALL/MOLMEC/PARAMETER/atomTypes.h>
00016 #endif
00017
00018 namespace BALL
00019 {
00027 class BALL_EXPORT Potential1210
00028 : public ParameterSection
00029 {
00030 public:
00031
00032 enum
00033 {
00034 UNKNOWN
00035 };
00036
00037 struct BALL_EXPORT Values
00038 {
00039 float A;
00040 float B;
00041 };
00042
00043 struct BALL_EXPORT Data
00044 {
00045 Atom* atom1;
00046 Atom* atom2;
00047 Values values;
00048 };
00049
00050
00054
00057 Potential1210() ;
00058
00061 Potential1210(const Potential1210& pot1210) ;
00062
00065 virtual ~Potential1210() ;
00066
00069 virtual void clear() ;
00070
00072
00075
00081 virtual bool extractSection(ForceFieldParameters& parameters,
00082 const String& section_name) ;
00083
00085 virtual bool extractSection(Parameters& parameters,
00086 const String& section_name) ;
00087
00090 bool hasParameters(Atom::Type I, Atom::Type J) const ;
00091
00094 Potential1210::Values getParameters
00095 (Atom::Type I, Atom::Type J) const ;
00096
00101 bool assignParameters
00102 (Potential1210::Values& parameters,
00103 Atom::Type I, Atom::Type J) const ;
00104
00106
00109
00112 const Potential1210& operator = (const Potential1210& pot1210) ;
00113
00115
00118
00121 bool operator == (const Potential1210& pot1210) const ;
00122
00124
00125 protected:
00126
00127 Size number_of_atom_types_;
00128
00129 std::vector<float> A_;
00130
00131 std::vector<float> B_;
00132
00133 std::vector<bool> is_defined_;
00134
00135 std::vector<String> names_;
00136 };
00137 }
00138
00139 #endif // BALL_MOLMEC_PARAMETER_POTENTIAL1210_H