#include <Direction.h>
Public Member Functions | |
Direction (const ReferenceConfigurationOptions &ro) | |
void | addDirection (const double &weight, const Direction &dir) |
double | calc (const std::vector< Vector > &pos, const Pbc &pbc, const std::vector< Value * > &vals, const std::vector< double > &args, ReferenceValuePack &myder, const bool &squared) const override |
Calculate the distance from the reference configuration. More... | |
double | calculate (const std::vector< Vector > &pos, const Pbc &pbc, const std::vector< Value * > &vals, ReferenceValuePack &myder, const bool &squared=false) const |
Calculate the distance from the reference configuration. More... | |
virtual double | calculateArgumentDistance (const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &myder, const bool &squared) const |
Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space. More... | |
void | copyDerivatives (const ReferenceConfiguration *) |
Parse something from the pdb remarks Copy derivatives from one frame to this frame. More... | |
void | displaceReferenceArguments (const double &weight, const std::vector< double > &displace) |
Displace the positions of the reference atoms. More... | |
void | displaceReferenceAtoms (const double &weight, const std::vector< Vector > &dir) |
Displace the positions of the reference atoms a bit. More... | |
void | displaceReferenceConfiguration (const double &weight, Direction &dir) |
Move the reference configuration by an amount specified using a Direction. More... | |
void | extractArgumentDisplacement (const std::vector< Value * > &vals, const std::vector< double > &arg, std::vector< double > &dirout) const override |
This allows us to extract the reference positions, which are the direction in this case. More... | |
void | extractAtomicDisplacement (const std::vector< Vector > &pos, std::vector< Vector > &dirout) const override |
Extract a displacement from a position in space. More... | |
void | extractDisplacementVector (const std::vector< Vector > &pos, const std::vector< Value * > &vals, const std::vector< double > &arg, const bool &nflag, Direction &mydir) const |
Extract a Direction giving you the displacement from some position. More... | |
const std::vector< AtomNumber > & | getAbsoluteIndexes () override |
Return all atom indexes. More... | |
const std::vector< double > & | getAlign () const |
Get the vector of alignment weights. More... | |
virtual const std::vector< std::string > & | getArgumentNames () |
const std::vector< std::string > & | getArgumentNames () override |
Return names. More... | |
virtual void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) |
Retrieve the arguments that are required for this guy. More... | |
void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) override |
Get the arguments required. More... | |
unsigned | getAtomIndex (const unsigned &) const |
This allows us to use a single pos array with RMSD objects using different atom indexes. More... | |
void | getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false) override |
Get the atoms required (additional checks are required when we have multiple domains) More... | |
const std::vector< double > & | getDisplace () const |
Get the vector of displacement weights. More... | |
std::string | getName () const |
Return the name of this metric. More... | |
unsigned | getNumberOfAtoms () const |
This returns how many atoms there should be. More... | |
virtual unsigned | getNumberOfReferenceArguments () const |
unsigned | getNumberOfReferenceArguments () const override |
Get the number of reference arguments. More... | |
unsigned | getNumberOfReferencePositions () const override |
This returns the number of reference atom positions. More... | |
virtual double | getReferenceArgument (const unsigned &i) const |
Get one of the referene arguments. More... | |
double | getReferenceArgument (const unsigned &i) const override |
Get the value of the ith reference argument. More... | |
virtual const std::vector< double > & | getReferenceArguments () const |
const std::vector< double > & | getReferenceArguments () const override |
Return all the reference arguments. More... | |
virtual const std::vector< double > & | getReferenceMetric () |
const std::vector< double > & | getReferenceMetric () override |
const std::vector< Vector > & | getReferencePositions () const override |
Get the reference positions. More... | |
void | moveReferenceArguments (const std::vector< double > &arg_vals) |
Set the positions of the reference arguments. More... | |
virtual bool | pcaIsEnabledForThisReference () |
Stuff for pca. More... | |
double | projectArgDisplacementOnVector (const std::vector< double > &eigv, const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &mypack) const |
Project the displacement of the arguments on a vector. More... | |
virtual double | projectAtomicDisplacementOnVector (const bool &normalized, const std::vector< Vector > &eigv, ReferenceValuePack &mypack) const |
Project the displacement on a vector. More... | |
double | projectDisplacementOnVector (const Direction &mydir, const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &mypack) const |
void | read (const PDB &) override |
Do all local business for setting the configuration. More... | |
void | setDirection (const std::vector< Vector > &conf, const std::vector< double > &args) |
void | setReferenceArguments (const std::vector< double > &arg_vals, const std::vector< double > &sigma) |
Set the positions of the reference arguments. More... | |
void | setReferenceAtoms (const std::vector< Vector > &conf, const std::vector< double > &align_in, const std::vector< double > &displace_in) override |
Set the positions of the reference atoms. More... | |
virtual void | setupPCAStorage (ReferenceValuePack &mypack) |
Stuff to setup pca. More... | |
void | zeroDirection () |
Public Attributes | |
bool | normalized |
Protected Member Functions | |
void | error (const std::string &msg) |
Crash with an error. More... | |
Vector | getReferencePosition (const unsigned &iatom) const |
Get the position of the ith atom. More... | |
bool | parseAtomList (const std::string &, std::vector< unsigned > &) |
Read a list of atoms from the pdb input file. More... | |
void | readArgumentsFromPDB (const PDB &pdb) |
Read in the atoms from the pdb file. More... | |
void | readAtomsFromPDB (const PDB &, const bool allowblocks=false) |
Read in the atoms from the pdb file. More... | |
void | setAtomIndices (const std::vector< AtomNumber > &atomnumbers) |
Add atom indices to list. More... | |
void | setReferenceArguments () |
Set the values of the colvars based on their current instantanous values (used in Analysis) More... | |
void | singleDomainRequests (std::vector< AtomNumber > &, bool disable_checks) |
Add derivatives to iatom th atom in list. More... | |
Protected Attributes | |
bool | hasmetric |
Are we calculating a Malanobius distance. More... | |
bool | hasweights |
Are we reading weights from input. More... | |
Private Attributes | |
std::vector< double > | align |
The atoms to be used to align the instantaneous atomic positions to the reference configuration. More... | |
std::vector< unsigned > | arg_der_index |
The indices for setting derivatives. More... | |
std::vector< std::string > | arg_names |
The names of the arguments. More... | |
std::vector< unsigned > | atom_der_index |
The indeces for setting derivatives. More... | |
bool | checks_were_disabled |
This flag tells us if the user has disabled checking of the input in order to do fancy paths with weird inputs. More... | |
std::vector< double > | displace |
The atoms to be used to calculate the distance the atoms have moved from the reference configuration. More... | |
std::vector< std::string > | fake_arg_names |
std::vector< AtomNumber > | fake_atom_numbers |
These are used to do fake things when we copy frames. More... | |
std::vector< double > | fake_metric |
std::vector< double > | fake_refargs |
std::vector< Vector > | fake_refatoms |
These are use by the distance function above. More... | |
std::vector< AtomNumber > | indices |
The indices of the atoms in the pdb file. More... | |
std::vector< std::string > | line |
A vector containing all the remarks from the pdb input. More... | |
Matrix< double > | metric |
The N X N matrix we are using to calculate our Malanobius distance. More... | |
std::string | name |
The name of this particular config. More... | |
std::vector< double > | reference_args |
The values of the colvars in the reference configuration. More... | |
std::vector< Vector > | reference_atoms |
The positions of the atoms in the reference configuration. More... | |
std::vector< double > | sqrtweight |
std::vector< double > | trig_metric |
std::vector< double > | weights |
The weights for normed euclidean distance. More... | |
|
explicit |
void PLMD::Direction::addDirection | ( | const double & | weight, |
const Direction & | dir | ||
) |
|
overridevirtual |
Calculate the distance from the reference configuration.
Implements PLMD::ReferenceConfiguration.
|
inherited |
Calculate the distance from the reference configuration.
|
virtualinherited |
Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space.
Reimplemented in PLMD::DotProductDistance.
|
inherited |
Parse something from the pdb remarks Copy derivatives from one frame to this frame.
|
inherited |
Displace the positions of the reference atoms.
|
inherited |
Displace the positions of the reference atoms a bit.
|
inherited |
Move the reference configuration by an amount specified using a Direction.
|
protectedinherited |
Crash with an error.
|
overridevirtual |
This allows us to extract the reference positions, which are the direction in this case.
Reimplemented from PLMD::ReferenceArguments.
|
overridevirtual |
Extract a displacement from a position in space.
Reimplemented from PLMD::ReferenceAtoms.
|
inherited |
Extract a Direction giving you the displacement from some position.
|
inlineoverridevirtualinherited |
Return all atom indexes.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineinherited |
Get the vector of alignment weights.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlineoverridevirtualinherited |
Return names.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Retrieve the arguments that are required for this guy.
Reimplemented in PLMD::ReferenceArguments.
|
overridevirtualinherited |
Get the arguments required.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineinherited |
This allows us to use a single pos array with RMSD objects using different atom indexes.
|
overridevirtualinherited |
Get the atoms required (additional checks are required when we have multiple domains)
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineinherited |
Get the vector of displacement weights.
|
inherited |
Return the name of this metric.
|
inlineinherited |
This returns how many atoms there should be.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlineoverridevirtualinherited |
Get the number of reference arguments.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineoverridevirtualinherited |
This returns the number of reference atom positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Get one of the referene arguments.
Reimplemented in PLMD::ReferenceArguments.
|
inlineoverridevirtualinherited |
Get the value of the ith reference argument.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlineoverridevirtualinherited |
Return all the reference arguments.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
overridevirtualinherited |
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineprotectedinherited |
Get the position of the ith atom.
|
inlineoverridevirtualinherited |
Get the reference positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
inherited |
Set the positions of the reference arguments.
|
protectedinherited |
Read a list of atoms from the pdb input file.
|
inlinevirtualinherited |
Stuff for pca.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inherited |
Project the displacement of the arguments on a vector.
|
inlinevirtualinherited |
Project the displacement on a vector.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inherited |
|
overridevirtual |
Do all local business for setting the configuration.
Implements PLMD::ReferenceConfiguration.
|
protectedinherited |
Read in the atoms from the pdb file.
|
protectedinherited |
Read in the atoms from the pdb file.
|
protectedinherited |
Add atom indices to list.
void PLMD::Direction::setDirection | ( | const std::vector< Vector > & | conf, |
const std::vector< double > & | args | ||
) |
|
protectedinherited |
Set the values of the colvars based on their current instantanous values (used in Analysis)
|
inherited |
Set the positions of the reference arguments.
|
inlineoverridevirtual |
Set the positions of the reference atoms.
Implements PLMD::ReferenceAtoms.
|
inlinevirtualinherited |
Stuff to setup pca.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
protectedinherited |
Add derivatives to iatom th atom in list.
Get the atomic derivatives on the ith atom in the list Add derivatives to the viral This does the checks that are always required
void PLMD::Direction::zeroDirection | ( | ) |
|
privateinherited |
The atoms to be used to align the instantaneous atomic positions to the reference configuration.
|
privateinherited |
The indices for setting derivatives.
|
privateinherited |
The names of the arguments.
|
privateinherited |
The indeces for setting derivatives.
|
privateinherited |
This flag tells us if the user has disabled checking of the input in order to do fancy paths with weird inputs.
|
privateinherited |
The atoms to be used to calculate the distance the atoms have moved from the reference configuration.
|
privateinherited |
|
privateinherited |
These are used to do fake things when we copy frames.
|
privateinherited |
|
privateinherited |
|
privateinherited |
These are use by the distance function above.
|
protectedinherited |
Are we calculating a Malanobius distance.
|
protectedinherited |
Are we reading weights from input.
|
privateinherited |
The indices of the atoms in the pdb file.
|
privateinherited |
A vector containing all the remarks from the pdb input.
|
privateinherited |
The N X N matrix we are using to calculate our Malanobius distance.
|
privateinherited |
The name of this particular config.
bool PLMD::Direction::normalized |
|
privateinherited |
The values of the colvars in the reference configuration.
|
privateinherited |
The positions of the atoms in the reference configuration.
|
privateinherited |
|
privateinherited |
|
privateinherited |
The weights for normed euclidean distance.
Hosted by GitHub | 1.8.17 |