22 #ifndef __PLUMED_tools_RMSD_h
23 #define __PLUMED_tools_RMSD_h
33 class OptimalAlignment;
83 void set(
const PDB&, std::string mytype);
85 void setType(std::string mytype);
87 void setReference(
const std::vector<Vector> & reference);
89 void setAlign(
const std::vector<double> & align);
91 void setDisplace(
const std::vector<double> & displace);
96 const std::vector<double> & displace,
97 const std::vector<Vector> & positions,
98 const std::vector<Vector> & reference ,
100 std::vector<Vector> & derivatives,
bool squared=
false);
103 const std::vector<double> & displace,
104 const std::vector<Vector> & positions,
105 const std::vector<Vector> & reference ,
106 std::vector<Vector> & derivatives,
bool squared=
false);
108 double calculate(
const std::vector<Vector> & positions,std::vector<Vector> &derivatives,
bool squared=
false);
std::vector< Vector > reference
void clear()
clear the structure
double optimalAlignment(const std::vector< double > &align, const std::vector< double > &displace, const std::vector< Vector > &positions, const std::vector< Vector > &reference, std::vector< Vector > &derivatives, bool squared=false)
A class that implements RMSD calculations This is a class that implements the various infrastructure ...
double calculate(const std::vector< Vector > &positions, std::vector< Vector > &derivatives, bool squared=false)
Compute rmsd.
Class containing the log stream.
void setAlign(const std::vector< double > &align)
set weights
RMSD(Log &log)
Constructor.
A class that is intended to include or combine various optimal alignment algorithms.
OptimalAlignment * myoptimalalignment
void setReference(const std::vector< Vector > &reference)
set reference coordinates
void set(const PDB &, std::string mytype)
set reference, align and displace from input pdb structure
~RMSD()
the destructor needs to delete the myalignment object eventually
std::vector< double > displace
RMSD & operator=(const RMSD &)
assignment
void setDisplace(const std::vector< double > &displace)
set align
std::vector< double > align
double simpleAlignment(const std::vector< double > &align, const std::vector< double > &displace, const std::vector< Vector > &positions, const std::vector< Vector > &reference, Log *&log, std::vector< Vector > &derivatives, bool squared=false)
void setType(std::string mytype)
set the type of alignment we are doing
AlignmentMethod alignmentMethod