In many applications (e.g. More...
#include <ReferenceArguments.h>

Public Member Functions | |
| ReferenceArguments (const ReferenceConfigurationOptions &ro) | |
| unsigned | getNumberOfReferenceArguments () const |
| Get the number of reference arguments. More... | |
| void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) |
| Get the arguments required. More... | |
| void | setArgumentNames (const std::vector< std::string > &arg_vals) |
| Set the names of the arguments. More... | |
| void | setReferenceArguments (const std::vector< double > &arg_vals, const std::vector< double > &sigma) |
| Set the positions of the refernce arguments. More... | |
| double | getReferenceArgument (const unsigned &i) const |
| Get the value of the ith reference argument. More... | |
| void | printArguments (OFile &ofile, const std::string &fmt) const |
| Print the arguments out. More... | |
| const std::vector< double > & | getReferenceArguments () |
| Return all the reference arguments. More... | |
| const std::vector< double > & | getReferenceMetric () |
| const std::vector< std::string > & | getArgumentNames () |
| Return names. More... | |
| std::string | getName () const |
| Return the name of this metric. More... | |
| virtual unsigned | getNumberOfReferencePositions () const |
| virtual void | getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false) |
| Retrieve the atoms that are required for this guy. More... | |
| virtual void | set (const PDB &) |
| Set the final number of arguments. More... | |
| virtual void | read (const PDB &)=0 |
| Do all local business for setting the configuration. More... | |
| void | setWeight (const double &ww) |
| Set the weight for this frame. More... | |
| double | getWeight () const |
| Return the weight for this frame. 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 | 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 =0 |
| Calculate the distance from the reference configuration. More... | |
| template<class T > | |
| bool | parse (const std::string &key, T &t, bool ignore_missing=false) |
| Return the derivatives of the distance wrt the cell vectors. More... | |
| template<class T > | |
| bool | parseVector (const std::string &key, std::vector< T > &t, bool ignore_missing=false) |
| Parse vector from the pdb remarks. More... | |
| void | parseFlag (const std::string &key, bool &t) |
| Parse a flag. More... | |
| void | checkRead () |
| Check that all the remarks in the pdb have been read in. More... | |
| void | copyDerivatives (const ReferenceConfiguration *) |
| Copy derivatives from one frame to this frame. More... | |
| void | setNamesAndAtomNumbers (const std::vector< AtomNumber > &numbers, const std::vector< std::string > &arg) |
| Set the atom numbers and the argument names. More... | |
| void | setReferenceConfig (const std::vector< Vector > &pos, const std::vector< double > &arg, const std::vector< double > &metric) |
| Set the reference structure (perhaps should also pass the pbc and align and displace ) More... | |
| void | print (OFile &ofile, const double &time, const double &weight, const double &old_norm) |
| Print a pdb file containing the reference configuration. More... | |
| void | print (OFile &ofile, const std::string &fmt) |
| virtual const std::vector < Vector > & | getReferencePositions () const |
| These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work. More... | |
| virtual const std::vector < AtomNumber > & | getAbsoluteIndexes () |
| These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work. More... | |
| virtual bool | pcaIsEnabledForThisReference () |
| Stuff for pca. More... | |
| virtual double | projectAtomicDisplacementOnVector (const unsigned &i, const Matrix< Vector > &eigv, const std::vector< Vector > &pos, ReferenceValuePack &mypack) const |
| bool | isDirection () const |
| Stuff for sanity checks on distance. More... | |
| virtual void | setupPCAStorage (ReferenceValuePack &mypack) |
| Stuff to setup pca. More... | |
Protected Member Functions | |
| void | readArgumentsFromPDB (const PDB &pdb) |
| Read in the atoms from the pdb file. More... | |
| void | setReferenceArguments () |
| Set the values of the colvars based on their current instantanous values (used in Analysis) More... | |
| 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 | error (const std::string &msg) |
| Derivatives wrt to the arguments. More... | |
Protected Attributes | |
| bool | hasweights |
| Are we reading weights from input. More... | |
| bool | hasmetric |
| Are we calculating a Malanobius distance. More... | |
Private Attributes | |
| std::vector< double > | weights |
| The weights for normed euclidean distance. More... | |
| Matrix< double > | metric |
| The N X N matrix we are using to calculate our Malanobius distance. More... | |
| std::vector< double > | trig_metric |
| std::vector< double > | reference_args |
| The values of the colvars in the reference configuration. More... | |
| std::vector< std::string > | arg_names |
| The names of the arguments. More... | |
| std::vector< unsigned > | der_index |
| The indices for setting derivatives. More... | |
In many applications (e.g.
paths, fields, property maps) it is necessary to calculate the distance between two configurations. These distances can be calculated in a variety of different ways. For instance, one can assert that the distance between the two configuration is the distance one would have to move all the atoms to transform configuration 1 into configuration
|
explicit |
|
pure virtualinherited |
Calculate the distance from the reference configuration.
Implemented in PLMD::MultiDomainRMSD, PLMD::SingleDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::Direction, and PLMD::FakeFrame.
|
inherited |
Calculate the distance from the reference configuration.
|
protected |
Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space.
|
inherited |
Check that all the remarks in the pdb have been read in.
|
inherited |
Copy derivatives from one frame to this frame.
|
protectedinherited |
Derivatives wrt to the arguments.
The virial contribution has to be stored Derivatives wrt to the atoms Crash with an error
|
inlinevirtualinherited |
These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work.
Reimplemented in PLMD::ReferenceAtoms.
|
inlinevirtual |
Return names.
Reimplemented from PLMD::ReferenceConfiguration.
|
virtual |
Get the arguments required.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Retrieve the atoms that are required for this guy.
Reimplemented in PLMD::ReferenceAtoms.
|
inherited |
Return the name of this metric.
|
inlinevirtual |
Get the number of reference arguments.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceAtoms.
|
inlinevirtual |
Get the value of the ith reference argument.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtual |
Return all the reference arguments.
Reimplemented from PLMD::ReferenceConfiguration.
|
virtual |
Reimplemented from PLMD::ReferenceConfiguration.
|
inlinevirtualinherited |
These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work.
Reimplemented in PLMD::ReferenceAtoms.
|
inlineinherited |
Return the weight for this frame.
|
inherited |
Stuff for sanity checks on distance.
|
inherited |
|
inherited |
Parse a flag.
|
inherited |
Parse vector from the pdb remarks.
|
inlinevirtualinherited |
Stuff for pca.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, PLMD::SimpleRMSD, and PLMD::EuclideanDistance.
|
inherited |
Print a pdb file containing the reference configuration.
|
inherited |
| void PLMD::ReferenceArguments::printArguments | ( | OFile & | ofile, |
| const std::string & | fmt | ||
| ) | const |
Print the arguments out.
|
inlinevirtualinherited |
Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
pure virtualinherited |
Do all local business for setting the configuration.
Implemented in PLMD::DRMSD, PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::SimpleRMSD, PLMD::OptimalRMSD, PLMD::Direction, PLMD::FakeFrame, PLMD::SimpleRMSD, and PLMD::DotProductDistance.
|
protected |
Read in the atoms from the pdb file.
|
virtualinherited |
Set the final number of arguments.
Set the final number of atoms Set the reference configuration using a PDB
| void PLMD::ReferenceArguments::setArgumentNames | ( | const std::vector< std::string > & | arg_vals | ) |
Set the names of the arguments.
|
inherited |
Set the atom numbers and the argument names.
|
protected |
Set the values of the colvars based on their current instantanous values (used in Analysis)
| void PLMD::ReferenceArguments::setReferenceArguments | ( | const std::vector< double > & | arg_vals, |
| const std::vector< double > & | sigma | ||
| ) |
Set the positions of the refernce arguments.
|
inherited |
Set the reference structure (perhaps should also pass the pbc and align and displace )
|
inlinevirtualinherited |
Stuff to setup pca.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, PLMD::SimpleRMSD, and PLMD::EuclideanDistance.
|
inlineinherited |
Set the weight for this frame.
|
private |
The names of the arguments.
|
private |
The indices for setting derivatives.
|
protected |
Are we calculating a Malanobius distance.
|
protected |
Are we reading weights from input.
|
private |
The N X N matrix we are using to calculate our Malanobius distance.
|
private |
The values of the colvars in the reference configuration.
|
private |
|
private |
The weights for normed euclidean distance.
Hosted by GitHub
|
1.8.7
|