#include <MultiDomainRMSD.h>
Public Member Functions | |
MultiDomainRMSD (const ReferenceConfigurationOptions &ro) | |
double | calc (const std::vector< Vector > &pos, const Pbc &pbc, const std::vector< Value *> &vals, const std::vector< double > &arg, ReferenceValuePack &myder, const bool &squared) const |
Calculate. More... | |
double | calculate (const std::vector< Vector > &pos, const Pbc &pbc, ReferenceValuePack &myder, const bool &squared) const |
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... | |
void | copyDerivatives (const ReferenceConfiguration *) |
Parse something from the pdb remarks Copy derivatives from one frame to this frame. 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 ammount specified using a Direction. More... | |
void | extractAtomicDisplacement (const std::vector< Vector > &pos, std::vector< Vector > &direction) const |
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 () |
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 () |
virtual void | getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) |
Retrieve the arguments that are required for this guy. 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... | |
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 | getNumberOfReferencePositions () const |
This returns the number of reference atom positions. More... | |
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 () |
const std::vector< Vector > & | getReferencePositions () const |
Get the reference positions. More... | |
bool | pcaIsEnabledForThisReference () |
Stuff for pca. More... | |
double | projectAtomicDisplacementOnVector (const bool &normalized, const std::vector< Vector > &vecs, 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 &) |
Read in the input from a pdb. More... | |
void | setReferenceAtoms (const std::vector< Vector > &conf, const std::vector< double > &align_in, const std::vector< double > &displace_in) |
Set the input from an analysis object (don't know how this will work yet so currently just a plumed_error) More... | |
void | setupPCAStorage (ReferenceValuePack &mypack) |
Stuff to setup pca. More... | |
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 | 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 | singleDomainRequests (std::vector< AtomNumber > &, bool disable_checks) |
Add derivatives to iatom th atom in list. More... | |
Private Attributes | |
std::vector< unsigned > | blocks |
Blocks containing start and end points for all the domains. More... | |
std::vector< std::unique_ptr< SingleDomainRMSD > > | domains |
Each of the domains we are calculating the distance from. More... | |
std::string | ftype |
The type of RMSD we are using. More... | |
std::vector< double > | weights |
The weight of a block. More... | |
|
explicit |
|
virtual |
Calculate.
Implements PLMD::ReferenceConfiguration.
double PLMD::MultiDomainRMSD::calculate | ( | const std::vector< Vector > & | pos, |
const Pbc & | pbc, | ||
ReferenceValuePack & | myder, | ||
const bool & | squared | ||
) | const |
|
inherited |
Calculate the distance from the reference configuration.
|
inherited |
Parse something from the pdb remarks Copy derivatives from one frame to this frame.
|
inherited |
Displace the positions of the reference atoms a bit.
|
inherited |
Move the reference configuration by an ammount specified using a Direction.
|
protectedinherited |
Crash with an error.
|
virtual |
Extract a displacement from a position in space.
Reimplemented from PLMD::ReferenceAtoms.
|
inherited |
Extract a Direction giving you the displacement from some position.
|
inlinevirtualinherited |
Return all atom indexes.
Reimplemented from PLMD::ReferenceConfiguration.
|
inlineinherited |
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.
|
inlineinherited |
This allows us to use a single pos array with RMSD objects using different atom indexes.
|
virtualinherited |
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.
|
inlinevirtualinherited |
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.
|
inlineprotectedinherited |
Get the position of the ith atom.
|
inlinevirtualinherited |
Get the reference positions.
Reimplemented from PLMD::ReferenceConfiguration.
|
protectedinherited |
Read a list of atoms from the pdb input file.
|
virtual |
Stuff for pca.
Reimplemented from PLMD::ReferenceConfiguration.
|
virtual |
Project the displacement on a vector.
Reimplemented from PLMD::ReferenceAtoms.
|
inherited |
|
virtual |
Read in the input from a pdb.
Implements PLMD::ReferenceConfiguration.
|
protectedinherited |
Read in the atoms from the pdb file.
|
protectedinherited |
Add atom indices to list.
|
virtual |
Set the input from an analysis object (don't know how this will work yet so currently just a plumed_error)
Implements PLMD::ReferenceAtoms.
|
virtual |
Stuff to setup pca.
Reimplemented from PLMD::ReferenceConfiguration.
|
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
|
private |
Blocks containing start and end points for all the domains.
|
private |
Each of the domains we are calculating the distance from.
|
private |
The type of RMSD we are using.
|
private |
The weight of a block.
Hosted by GitHub | 1.8.14 |