22 #include "CollectiveVariable.h"
23 #include "AlphaRMSDCV.h"
24 #include "CVManager.h"
26 #include "AntiBetaRMSDCV.h"
27 #include "BoxVolumeCV.h"
28 #include "GyrationTensorCV.h"
29 #include "PairwiseCV.h"
30 #include "ParallelBetaRMSDCV.h"
31 #include "ParticleCoordinateCV.h"
32 #include "ParticlePositionCV.h"
33 #include "ParticleSeparationCV.h"
34 #include "RouseModeCV.h"
35 #include "TorsionalCV.h"
36 #include "json/json.h"
44 auto type = json.get(
"type",
"none").asString();
47 return AngleCV::Build(json, path);
48 else if(type ==
"BoxVolume")
49 return BoxVolumeCV::Build(json, path);
50 else if(type ==
"GyrationTensor")
51 return GyrationTensorCV::Build(json, path);
52 else if(type ==
"Pairwise")
53 return PairwiseCV::Build(json, path);
54 else if(type ==
"ParticleCoordinate")
55 return ParticleCoordinateCV::Build(json, path);
56 else if(type ==
"ParticlePosition")
57 return ParticlePositionCV::Build(json, path);
58 else if(type ==
"ParticleSeparation")
59 return ParticleSeparationCV::Build(json, path);
60 else if(type ==
"RouseMode")
61 return RouseModeCV::Build(json, path);
62 else if(type ==
"Torsional")
63 return TorsionalCV::Build(json, path);
64 else if (type ==
"AlphaRMSD")
66 else if (type ==
"ParallelBetaRMSD")
68 else if (type ==
"AntiBetaRMSD")
71 throw std::invalid_argument(path +
": Unknown CV type specified.");
static AntiBetaRMSDCV * Build(const Json::Value &json, const std::string &path)
Set up collective variable.
static std::map< std::string, uint > cvmap_
Map between CV names and ID's.
Abstract class for a collective variable.
static AlphaRMSDCV * Build(const Json::Value &json, const std::string &path)
Set up collective variable.
static ParallelBetaRMSDCV * Build(const Json::Value &json, const std::string &path)
Set up collective variable.
static CollectiveVariable * BuildCV(const Json::Value &json, const std::string &path)
Set up collective variable.