In many applications (e.g. More...
#include <ReferenceAtoms.h>
Public Member Functions | |
ReferenceAtoms (const ReferenceConfigurationOptions &ro) | |
unsigned | getNumberOfReferencePositions () const |
This returns the number of reference atom positions. More... | |
const std::vector< Vector > & | getReferencePositions () const |
Get the reference positions. More... | |
unsigned | getAtomIndex (const unsigned &) const |
This allows us to use a single pos array with RMSD objects using different atom indexes. More... | |
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 double &lunits) const |
Print the atomic positions. More... | |
const std::vector< AtomNumber > & | getAbsoluteIndexes () |
Return all atom indexes. More... | |
unsigned | getNumberOfAtoms () const |
This returns how many atoms there should be. More... | |
void | displaceReferenceAtoms (const double &weight, const std::vector< Vector > &dir) |
Displace the positions of the reference atoms a bit. More... | |
virtual void | extractAtomicDisplacement (const std::vector< Vector > &pos, std::vector< Vector > &direction) const |
Extract a displacement from a position in space. More... | |
virtual double | projectAtomicDisplacementOnVector (const bool &normalized, const std::vector< Vector > &eigv, ReferenceValuePack &mypack) const |
Project the displacement on a vector. 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... | |
std::string | getName () const |
Return the name of this metric. More... | |
virtual unsigned | getNumberOfReferenceArguments () const |
virtual void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) |
Retrieve the arguments 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 &lunits, const double &old_norm) |
Print a pdb file containing the reference configuration. More... | |
void | print (OFile &ofile, const std::string &fmt, const double &lunits) |
virtual double | getReferenceArgument (const unsigned &i) const |
Get one of the referene arguments. More... | |
virtual const std::vector< double > & | getReferenceArguments () const |
virtual const std::vector< double > & | getReferenceMetric () |
virtual const std::vector< std::string > & | getArgumentNames () |
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... | |
virtual bool | pcaIsEnabledForThisReference () |
Stuff for pca. More... | |
double | projectDisplacementOnVector (const Direction &mydir, const std::vector< Value *> &vals, const std::vector< double > &arg, ReferenceValuePack &mypack) const |
virtual void | setupPCAStorage (ReferenceValuePack &mypack) |
Stuff to setup pca. More... | |
void | displaceReferenceConfiguration (const double &weight, Direction &dir) |
Move the reference configuration by an ammount specified using a Direction. More... | |
Protected Member Functions | |
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... | |
bool | parseAtomList (const std::string &, std::vector< unsigned > &) |
Read a list of atoms from the pdb input file. More... | |
Vector | getReferencePosition (const unsigned &iatom) const |
Get the position of the ith atom. More... | |
void | singleDomainRequests (std::vector< AtomNumber > &, bool disable_checks) |
Add derivatives to iatom th atom in list. More... | |
void | error (const std::string &msg) |
Derivatives wrt to the arguments. 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 > | atom_der_index |
The indeces for setting derivatives. More... | |
Friends | |
class | Direction |
class | SingleDomainRMSD |
class | ReferenceConfiguration |
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::ArgumentOnlyDistance, PLMD::SingleDomainRMSD, PLMD::Direction, and PLMD::FakeFrame.
|
inherited |
Calculate the distance from the reference configuration.
|
inherited |
Check that all the remarks in the pdb have been read in.
|
inherited |
Copy derivatives from one frame to this frame.
void PLMD::ReferenceAtoms::displaceReferenceAtoms | ( | const double & | weight, |
const std::vector< Vector > & | dir | ||
) |
Displace the positions of the reference atoms a bit.
|
inherited |
Move the reference configuration by an ammount specified using a Direction.
|
protectedinherited |
Derivatives wrt to the arguments.
The virial contribution has to be stored Derivatives wrt to the atoms Crash with an error
|
inlinevirtual |
Extract a displacement from a position in space.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::Direction, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inherited |
Extract a Direction giving you the displacement from some position.
|
inlinevirtual |
Return all atom indexes.
Reimplemented from PLMD::ReferenceConfiguration.
|
inline |
Get the vector of alignment weights.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtualinherited |
Retrieve the arguments that are required for this guy.
Reimplemented in PLMD::ReferenceArguments.
|
inline |
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.
|
inline |
Get the vector of displacement weights.
|
inherited |
Return the name of this metric.
|
inline |
This returns how many atoms there should be.
|
inlinevirtualinherited |
Reimplemented in PLMD::ReferenceArguments.
|
inlinevirtual |
This returns the number of reference atom positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
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.
|
inlinevirtual |
Get the reference positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineinherited |
Return the weight for this frame.
|
inherited |
|
protected |
Read a list of atoms from the pdb input file.
|
inherited |
Parse a flag.
|
inherited |
Parse vector from the pdb remarks.
|
inlinevirtualinherited |
Stuff for pca.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inherited |
Print a pdb file containing the reference configuration.
|
inherited |
void PLMD::ReferenceAtoms::printAtoms | ( | OFile & | ofile, |
const double & | lunits | ||
) | const |
Print the atomic positions.
|
inlinevirtual |
Project the displacement on a vector.
Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inherited |
|
pure virtualinherited |
Do all local business for setting the configuration.
Implemented in PLMD::DRMSD, PLMD::MultiDomainRMSD, PLMD::ArgumentOnlyDistance, PLMD::Direction, PLMD::OptimalRMSD, PLMD::FakeFrame, PLMD::IntermolecularDRMSD, PLMD::IntramolecularDRMSD, 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
|
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.
|
pure virtual |
Set the positions of the reference atoms.
Implemented in PLMD::DRMSD, PLMD::MultiDomainRMSD, PLMD::Direction, and PLMD::SingleDomainRMSD.
|
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::ArgumentOnlyDistance, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.
|
inlineinherited |
Set the weight for this frame.
|
protected |
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
|
friend |
|
friend |
|
friend |
|
private |
The atoms to be used to align the instantaneous atomic positions to the reference configuration.
|
private |
The indeces for setting derivatives.
|
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 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.
Hosted by GitHub | 1.8.14 |