45 |
|
//#include "types/ImproperHarmonicInversionType.hpp" |
46 |
|
//#include "types/CentralAtomHeightInversionType.hpp" |
47 |
|
//#include "types/DreidingInversionType.hpp" |
48 |
+ |
#include "types/AmberImproperTorsionType.hpp" |
49 |
+ |
#include "types/PolynomialInversionType.hpp" |
50 |
+ |
//These two are added by me. Maybe it is wrong. |
51 |
|
#include "UseTheForce/ForceField.hpp" |
52 |
|
#include "utils/NumericConstant.hpp" |
53 |
|
|
56 |
|
InversionTypesSectionParser::InversionTypesSectionParser(ForceFieldOptions& options) : options_(options){ |
57 |
|
|
58 |
|
setSectionName("InversionTypes"); |
59 |
+ |
stringToEnumMap_["AmberImproper"] = itAmberImproper; |
60 |
|
stringToEnumMap_["ImproperCosine"] = itImproperCosine; |
61 |
|
stringToEnumMap_["ImproperHarmonic"] = itImproperHarmonic; |
62 |
|
stringToEnumMap_["CentralAtomHeight"] = itCentralAtomHeight; |
104 |
|
inversionType = new ImproperCosineInversionType(parameters); |
105 |
|
|
106 |
|
} |
107 |
+ |
break; |
108 |
|
|
109 |
+ |
case InversionTypesSectionParser::itAmberImproper: |
110 |
+ |
|
111 |
+ |
if (nTokens < 1) { |
112 |
+ |
|
113 |
+ |
} else { |
114 |
+ |
RealType v2 = tokenizer.nextTokenAsDouble(); |
115 |
+ |
|
116 |
+ |
inversionType = new AmberImproperTorsionType(v2); |
117 |
+ |
} |
118 |
+ |
|
119 |
|
break; |
120 |
+ |
|
121 |
|
|
122 |
+ |
|
123 |
+ |
|
124 |
|
/* |
125 |
|
case InversionTypesSectionParser::itImproperHarmonic : |
126 |
|
if (nTokens < 2) { |