#include <ReferenceConfiguration.h>
Public Member Functions | |
ReferenceConfiguration (const ReferenceConfigurationOptions &ro) | |
virtual | ~ReferenceConfiguration () |
Destructor. More... | |
std::string | getName () const |
Return the name of this metric. More... | |
virtual void | getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false) |
Retrieve the atoms that are required for this guy. More... | |
virtual void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) |
Retrieve the arguments that are required for this guy. More... | |
virtual void | setNumberOfArguments (const unsigned &) |
Set the final number of arguments. More... | |
virtual void | setNumberOfAtoms (const unsigned &) |
Set the final number of atoms. More... | |
virtual void | set (const PDB &) |
Set the reference configuration using a PDB. 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, const bool &squared=false) |
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, const bool &squared)=0 |
Calculate the distance from the reference configuration. More... | |
Vector | getAtomDerivative (const unsigned &) const |
Return the derivative wrt to the ith atom. More... | |
double | getArgumentDerivative (const unsigned &) const |
Return the derivative wrt to the ith argument. More... | |
bool | getVirial (Tensor &virout) const |
Return the derivatives of the distance wrt the cell vectors. More... | |
template<class T > | |
bool | parse (const std::string &key, T &t, bool ignore_missing=false) |
Parse something from the pdb remarks. 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 double | getReferenceArgument (const unsigned &i) |
Get one of the referene arguments. More... | |
virtual const std::vector < Vector > & | getReferencePositions () |
These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work. More... | |
virtual const std::vector < double > & | getReferenceArguments () |
virtual const std::vector < double > & | getReferenceMetric () |
virtual const std::vector < AtomNumber > & | getAbsoluteIndexes () |
These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work. More... | |
virtual const std::vector < std::string > & | getArgumentNames () |
Protected Member Functions | |
void | error (const std::string &msg) |
Crash with an error. More... | |
void | clearDerivatives () |
Clear the derivatives. More... | |
Protected Attributes | |
std::vector< double > | arg_ders |
Derivatives wrt to the arguments. More... | |
bool | virialWasSet |
The virial contribution has to be stored. More... | |
Tensor | virial |
std::vector< Vector > | atom_ders |
Derivatives wrt to the atoms. More... | |
Private Attributes | |
std::string | name |
The name of this particular config. More... | |
double | weight |
A weight assigned to this particular frame. More... | |
std::vector< std::string > | line |
A vector containing all the remarks from the pdb input. More... | |
std::vector< double > | tmparg |
This is used to store the values of arguments. More... | |
std::vector< AtomNumber > | fake_atom_numbers |
These are used to do fake things when we copy frames. More... | |
std::vector< std::string > | fake_arg_names |
std::vector< Vector > | fake_refatoms |
These are use by the distance function above. More... | |
std::vector< double > | fake_refargs |
std::vector< double > | fake_metric |
Friends | |
class | SingleDomainRMSD |
double | distance (const Pbc &pbc, const std::vector< Value * > &vals, ReferenceConfiguration *, ReferenceConfiguration *, const bool &squared) |
PLMD::ReferenceConfiguration::ReferenceConfiguration | ( | const ReferenceConfigurationOptions & | ro | ) |
|
virtual |
Destructor.
|
pure virtual |
Calculate the distance from the reference configuration.
Implemented in PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::SingleDomainRMSD, and PLMD::FakeFrame.
double PLMD::ReferenceConfiguration::calculate | ( | const std::vector< Vector > & | pos, |
const Pbc & | pbc, | ||
const std::vector< Value * > & | vals, | ||
const bool & | squared = false |
||
) |
Calculate the distance from the reference configuration.
void PLMD::ReferenceConfiguration::checkRead | ( | ) |
Check that all the remarks in the pdb have been read in.
|
protected |
Clear the derivatives.
void PLMD::ReferenceConfiguration::copyDerivatives | ( | const ReferenceConfiguration * | ref | ) |
Copy derivatives from one frame to this frame.
|
protected |
Crash with an error.
|
inlinevirtual |
These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work.
Reimplemented in PLMD::ReferenceAtoms.
|
inline |
Return the derivative wrt to the ith argument.
|
inlinevirtual |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtual |
Retrieve the arguments that are required for this guy.
Reimplemented in PLMD::ReferenceArguments.
|
inline |
Return the derivative wrt to the ith atom.
|
inlinevirtual |
Retrieve the atoms that are required for this guy.
Reimplemented in PLMD::ReferenceAtoms.
std::string PLMD::ReferenceConfiguration::getName | ( | ) | const |
Return the name of this metric.
|
inlinevirtual |
Get one of the referene arguments.
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtual |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtual |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtual |
These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work.
Reimplemented in PLMD::ReferenceAtoms.
bool PLMD::ReferenceConfiguration::getVirial | ( | Tensor & | virout | ) | const |
|
inline |
Return the weight for this frame.
bool PLMD::ReferenceConfiguration::parse | ( | const std::string & | key, |
T & | t, | ||
bool | ignore_missing = false |
||
) |
Parse something from the pdb remarks.
void PLMD::ReferenceConfiguration::parseFlag | ( | const std::string & | key, |
bool & | t | ||
) |
Parse a flag.
bool PLMD::ReferenceConfiguration::parseVector | ( | const std::string & | key, |
std::vector< T > & | t, | ||
bool | ignore_missing = false |
||
) |
Parse vector from the pdb remarks.
void PLMD::ReferenceConfiguration::print | ( | OFile & | ofile, |
const double & | time, | ||
const double & | weight, | ||
const double & | old_norm | ||
) |
Print a pdb file containing the reference configuration.
void PLMD::ReferenceConfiguration::print | ( | OFile & | ofile, |
const std::string & | fmt | ||
) |
|
pure virtual |
Do all local business for setting the configuration.
Implemented in PLMD::DRMSD, PLMD::MultiDomainRMSD, PLMD::SimpleRMSD, PLMD::OptimalRMSD, PLMD::FakeFrame, PLMD::SimpleRMSD, PLMD::EuclideanDistance, and PLMD::NormalizedEuclideanDistance.
|
virtual |
Set the reference configuration using a PDB.
void PLMD::ReferenceConfiguration::setNamesAndAtomNumbers | ( | const std::vector< AtomNumber > & | numbers, |
const std::vector< std::string > & | arg | ||
) |
Set the atom numbers and the argument names.
|
virtual |
Set the final number of arguments.
|
virtual |
Set the final number of atoms.
void PLMD::ReferenceConfiguration::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 )
|
inline |
Set the weight for this frame.
|
friend |
|
friend |
|
protected |
Derivatives wrt to the arguments.
|
protected |
Derivatives wrt to the atoms.
|
private |
|
private |
These are used to do fake things when we copy frames.
|
private |
|
private |
|
private |
These are use by the distance function above.
|
private |
A vector containing all the remarks from the pdb input.
|
private |
The name of this particular config.
|
private |
This is used to store the values of arguments.
|
protected |
|
protected |
The virial contribution has to be stored.
|
private |
A weight assigned to this particular frame.
Hosted by GitHub | 1.8.7 |