In many applications (e.g. More...
#include <ReferenceAtoms.h>
Public Member Functions | |
ReferenceAtoms (const ReferenceConfigurationOptions &ro) | |
virtual void | getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false) |
Get the atoms required (additional checks are required when we have multiple domains) More... | |
void | setAtomNumbers (const std::vector< AtomNumber > &numbers) |
Set the indices of the reference atoms. More... | |
virtual void | setReferenceAtoms (const std::vector< Vector > &conf, const std::vector< double > &align_in, const std::vector< double > &displace_in)=0 |
Set the positions of the reference atoms. More... | |
void | printAtoms (OFile &ofile) const |
Print the atomic positions. More... | |
const std::vector< AtomNumber > & | getAbsoluteIndexes () |
Return all atom indexes. More... | |
std::string | getName () const |
Return the name of this metric. 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 < double > & | getReferenceArguments () |
virtual const std::vector < double > & | getReferenceMetric () |
virtual const std::vector < std::string > & | getArgumentNames () |
Protected Member Functions | |
void | readAtomsFromPDB (const PDB &) |
Read in the atoms from the pdb file. More... | |
void | setAtomIndices (const std::vector< AtomNumber > &atomnumbers) |
Add atom indices to list. More... | |
bool | parseAtomList (const std::string &, std::vector< unsigned > &) |
Read a list of atoms from the pdb input file. More... | |
const std::vector< double > & | getAlign () const |
Get the vector of alignment weights. More... | |
const std::vector< double > & | getDisplace () const |
Get the vector of displacement weights. More... | |
Vector | getReferencePosition (const unsigned &iatom) const |
Get the position of the ith atom. More... | |
const std::vector< Vector > & | getReferencePositions () |
Get the reference positions. More... | |
void | addAtomicDerivatives (const unsigned &, const Vector &) |
Add derivatives to iatom th atom in list. More... | |
Vector | retrieveAtomicDerivatives (const unsigned &) const |
Get the atomic derivatives on the ith atom in the list. More... | |
void | addBoxDerivatives (const Tensor &) |
Add derivatives to the viral. More... | |
void | singleDomainRequests (std::vector< AtomNumber > &, bool disable_checks) |
This does the checks that are always required. More... | |
unsigned | getNumberOfReferencePositions () const |
This returns the number of reference atom positions. More... | |
unsigned | getNumberOfAtoms () const |
This returns how many atoms there should be. More... | |
unsigned | getAtomIndex (const unsigned &) const |
This allows us to use a single pos array with RMSD objects using different atom indexes. More... | |
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 | |
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 > | align |
The atoms to be used to align the instantaneous atomic positions to the reference configuration. 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< Vector > | reference_atoms |
The positions of the atoms in the reference configuration. More... | |
std::vector< AtomNumber > | indices |
The indices of the atoms in the pdb file. More... | |
std::vector< unsigned > | der_index |
The indeces for setting derivatives. More... | |
Friends | |
class | SingleDomainRMSD |
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
PLMD::ReferenceAtoms::ReferenceAtoms | ( | const ReferenceConfigurationOptions & | ro | ) |
|
inlineprotected |
Add derivatives to iatom th atom in list.
|
inlineprotected |
Add derivatives to the viral.
|
pure virtualinherited |
Calculate the distance from the reference configuration.
Implemented in PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::SingleDomainRMSD, and PLMD::FakeFrame.
|
inherited |
Calculate the distance from the reference configuration.
|
inherited |
Check that all the remarks in the pdb have been read in.
|
protectedinherited |
Clear the derivatives.
|
inherited |
Copy derivatives from one frame to this frame.
|
protectedinherited |
Crash with an error.
|
inlinevirtual |
Return all atom indexes.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineprotected |
Get the vector of alignment weights.
|
inlineinherited |
Return the derivative wrt to the ith argument.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtualinherited |
Retrieve the arguments that are required for this guy.
Reimplemented in PLMD::ReferenceArguments.
|
inlineinherited |
Return the derivative wrt to the ith atom.
|
inlineprotected |
This allows us to use a single pos array with RMSD objects using different atom indexes.
|
virtual |
Get the atoms required (additional checks are required when we have multiple domains)
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineprotected |
Get the vector of displacement weights.
|
inherited |
Return the name of this metric.
|
inlineprotected |
This returns how many atoms there should be.
|
inlineprotected |
This returns the number of reference atom positions.
|
inlinevirtualinherited |
Get one of the referene arguments.
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlineprotected |
Get the position of the ith atom.
|
inlineprotectedvirtual |
Get the reference positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
inherited |
|
inlineinherited |
Return the weight for this frame.
|
inherited |
Parse something from the pdb remarks.
|
protected |
Read a list of atoms from the pdb input file.
|
inherited |
Parse a flag.
|
inherited |
Parse vector from the pdb remarks.
|
inherited |
Print a pdb file containing the reference configuration.
|
inherited |
void PLMD::ReferenceAtoms::printAtoms | ( | OFile & | ofile | ) | const |
Print the atomic positions.
|
pure virtualinherited |
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.
|
protected |
Read in the atoms from the pdb file.
|
inlineprotected |
Get the atomic derivatives on the ith atom in the list.
|
virtualinherited |
Set the reference configuration using a PDB.
|
protected |
Add atom indices to list.
void PLMD::ReferenceAtoms::setAtomNumbers | ( | const std::vector< AtomNumber > & | numbers | ) |
Set the indices of the reference atoms.
|
inherited |
Set the atom numbers and the argument names.
|
virtualinherited |
Set the final number of arguments.
|
virtualinherited |
Set the final number of atoms.
|
pure virtual |
Set the positions of the reference atoms.
Implemented in PLMD::MultiDomainRMSD, PLMD::DRMSD, and PLMD::SingleDomainRMSD.
|
inherited |
Set the reference structure (perhaps should also pass the pbc and align and displace )
|
inlineinherited |
Set the weight for this frame.
|
protected |
This does the checks that are always required.
|
friend |
|
private |
The atoms to be used to align the instantaneous atomic positions to the reference configuration.
|
protectedinherited |
Derivatives wrt to the arguments.
|
protectedinherited |
Derivatives wrt to the atoms.
|
private |
This flag tells us if the user has disabled checking of the input in order to do fancy paths with weird inputs.
|
private |
The indeces for setting derivatives.
|
private |
The atoms to be used to calculate the distance the atoms have moved from the reference configuration.
|
private |
The indices of the atoms in the pdb file.
|
private |
The positions of the atoms in the reference configuration.
|
protectedinherited |
|
protectedinherited |
The virial contribution has to be stored.
Hosted by GitHub | 1.8.7 |