A class that is intended to include or combine various optimal alignment algorithms. More...
#include <OptimalAlignment.h>
Public Member Functions | |
OptimalAlignment (const std::vector< double > &align, const std::vector< double > &displace, const std::vector< Vector > &p0, const std::vector< Vector > &p1, Log *&log) | |
the contructor More... | |
~OptimalAlignment () | |
the destructor: delete kearsley More... | |
void | assignP0 (const std::vector< Vector > &p0) |
assignment of the running frame p0 More... | |
void | assignP1 (const std::vector< Vector > &p1) |
assignment to the reference frame p1 More... | |
void | assignAlign (const std::vector< double > &align) |
void | assignDisplace (const std::vector< double > &displace) |
double | calculate (bool rmsd, std::vector< Vector > &derivatives) |
this does the real calculation More... | |
double | weightedAlignment (bool rmsd) |
this should perform the weighted alignment More... | |
double | weightedFindiffTest (bool rmsd) |
Private Attributes | |
Kearsley * | mykearsley |
a pointer to the object that performs the optimal alignment via quaternions More... | |
std::vector< double > | displace |
displacement vector : a double that says if the coordinate should be used in calculating the RMSD/MSD More... | |
std::vector< double > | align |
alignment vector: a double that says if the atom has to be used in reset COM and makeing the alignment More... | |
std::vector< Vector > | p0 |
position of one frame (generally the MD) More... | |
std::vector< Vector > | p1 |
position of the reference frames More... | |
std::vector< Vector > | derrdp0 |
derivatives of the error respect to the p0 (MD running frame) More... | |
std::vector< Vector > | derrdp1 |
derivatives of the error respect to the p1 (static frame, do not remove: useful for SM) More... | |
Log * | log |
the pointer to the logfile More... | |
bool | fast |
a bool that decides to make the fast version (alignment vec= displacement vec) or the slower case More... | |
A class that is intended to include or combine various optimal alignment algorithms.
Definition at line 36 of file OptimalAlignment.h.
PLMD::OptimalAlignment::OptimalAlignment | ( | const std::vector< double > & | align, |
const std::vector< double > & | displace, | ||
const std::vector< Vector > & | p0, | ||
const std::vector< Vector > & | p1, | ||
Log *& | log | ||
) |
the contructor
Definition at line 33 of file OptimalAlignment.cpp.
PLMD::OptimalAlignment::~OptimalAlignment | ( | ) |
the destructor: delete kearsley
Definition at line 59 of file OptimalAlignment.cpp.
void PLMD::OptimalAlignment::assignAlign | ( | const std::vector< double > & | align | ) |
Definition at line 73 of file OptimalAlignment.cpp.
void PLMD::OptimalAlignment::assignDisplace | ( | const std::vector< double > & | displace | ) |
Definition at line 78 of file OptimalAlignment.cpp.
void PLMD::OptimalAlignment::assignP0 | ( | const std::vector< Vector > & | p0 | ) |
assignment of the running frame p0
Definition at line 63 of file OptimalAlignment.cpp.
void PLMD::OptimalAlignment::assignP1 | ( | const std::vector< Vector > & | p1 | ) |
assignment to the reference frame p1
Definition at line 68 of file OptimalAlignment.cpp.
double PLMD::OptimalAlignment::calculate | ( | bool | rmsd, |
std::vector< Vector > & | derivatives | ||
) |
this does the real calculation
TODO this interface really sucks since is strongly asymmetric should be re-engineered.
Definition at line 83 of file OptimalAlignment.cpp.
double PLMD::OptimalAlignment::weightedAlignment | ( | bool | rmsd | ) |
this should perform the weighted alignment
this does the weighed alignment if the vector of alignment is different from displacement
just a shortcut
TODO : these two blocks can be calculated once forever after the initialization (exception for certain methods?)
clear derivatives
probably not really the way it should be
Definition at line 118 of file OptimalAlignment.cpp.
double PLMD::OptimalAlignment::weightedFindiffTest | ( | bool | rmsd | ) |
Definition at line 311 of file OptimalAlignment.cpp.
|
private |
alignment vector: a double that says if the atom has to be used in reset COM and makeing the alignment
Definition at line 44 of file OptimalAlignment.h.
|
private |
derivatives of the error respect to the p0 (MD running frame)
Definition at line 50 of file OptimalAlignment.h.
|
private |
derivatives of the error respect to the p1 (static frame, do not remove: useful for SM)
Definition at line 52 of file OptimalAlignment.h.
|
private |
displacement vector : a double that says if the coordinate should be used in calculating the RMSD/MSD
Definition at line 42 of file OptimalAlignment.h.
|
private |
a bool that decides to make the fast version (alignment vec= displacement vec) or the slower case
Definition at line 56 of file OptimalAlignment.h.
|
private |
the pointer to the logfile
Definition at line 54 of file OptimalAlignment.h.
|
private |
a pointer to the object that performs the optimal alignment via quaternions
Definition at line 40 of file OptimalAlignment.h.
|
private |
position of one frame (generally the MD)
Definition at line 46 of file OptimalAlignment.h.
|
private |
position of the reference frames
Definition at line 48 of file OptimalAlignment.h.
Hosted by GitHub
![]() |
![]() |