1 #ifndef OPENMM_CMAPTORSIONFORCE_H_
2 #define OPENMM_CMAPTORSIONFORCE_H_
38 #include "internal/windowsExport.h"
71 return torsions.size();
83 int addMap(
int size,
const std::vector<double>& energy);
94 void getMapParameters(
int index,
int& size, std::vector<double>& energy)
const;
105 void setMapParameters(
int index,
int size,
const std::vector<double>& energy);
120 int addTorsion(
int map,
int a1,
int a2,
int a3,
int a4,
int b1,
int b2,
int b3,
int b4);
135 void getTorsionParameters(
int index,
int& map,
int& a1,
int& a2,
int& a3,
int& a4,
int& b1,
int& b2,
int& b3,
int& b4)
const;
150 void setTorsionParameters(
int index,
int map,
int a1,
int a2,
int a3,
int a4,
int b1,
int b2,
int b3,
int b4);
155 class CMAPTorsionInfo;
156 std::vector<MapInfo> maps;
157 std::vector<CMAPTorsionInfo> torsions;
164 class CMAPTorsionForce::MapInfo {
167 std::vector<double> energy;
171 MapInfo(
int size,
const std::vector<double>& energy) :
172 size(size), energy(energy) {
180 class CMAPTorsionForce::CMAPTorsionInfo {
182 int map, a1, a2, a3, a4, b1, b2, b3, b4;
184 map = a1 = a2 = a3 = a4 = b1 = b2 = b3 = b4 = -1;
186 CMAPTorsionInfo(
int map,
int a1,
int a2,
int a3,
int a4,
int b1,
int b2,
int b3,
int b4) :
187 map(map), a1(a1), a2(a2), a3(a3), a4(a4), b1(b1), b2(b2), b3(b3), b4(b4) {