A class that is intended to include or combine various optimal alignment algorithms.
More...
#include <OptimalAlignment.h>
|
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.
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 |
|
) |
| |
PLMD::OptimalAlignment::~OptimalAlignment |
( |
| ) |
|
the destructor: delete kearsley
void PLMD::OptimalAlignment::assignAlign |
( |
const std::vector< double > & |
align | ) |
|
void PLMD::OptimalAlignment::assignDisplace |
( |
const std::vector< double > & |
displace | ) |
|
void PLMD::OptimalAlignment::assignP0 |
( |
const std::vector< Vector > & |
p0 | ) |
|
assignment of the running frame p0
void PLMD::OptimalAlignment::assignP1 |
( |
const std::vector< Vector > & |
p1 | ) |
|
assignment to the reference frame p1
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.
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
double PLMD::OptimalAlignment::weightedFindiffTest |
( |
bool |
rmsd | ) |
|
std::vector<double> PLMD::OptimalAlignment::align |
|
private |
alignment vector: a double that says if the atom has to be used in reset COM and makeing the alignment
std::vector<Vector> PLMD::OptimalAlignment::derrdp0 |
|
private |
derivatives of the error respect to the p0 (MD running frame)
std::vector<Vector> PLMD::OptimalAlignment::derrdp1 |
|
private |
derivatives of the error respect to the p1 (static frame, do not remove: useful for SM)
std::vector<double> PLMD::OptimalAlignment::displace |
|
private |
displacement vector : a double that says if the coordinate should be used in calculating the RMSD/MSD
bool PLMD::OptimalAlignment::fast |
|
private |
a bool that decides to make the fast version (alignment vec= displacement vec) or the slower case
Log* PLMD::OptimalAlignment::log |
|
private |
the pointer to the logfile
Kearsley* PLMD::OptimalAlignment::mykearsley |
|
private |
a pointer to the object that performs the optimal alignment via quaternions
std::vector<Vector> PLMD::OptimalAlignment::p0 |
|
private |
position of one frame (generally the MD)
std::vector<Vector> PLMD::OptimalAlignment::p1 |
|
private |
position of the reference frames
The documentation for this class was generated from the following files: