All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PLMD::NormalizedEuclideanDistance Class Reference
Inheritance diagram for PLMD::NormalizedEuclideanDistance:
Inheritance graph
[legend]

Public Member Functions

 NormalizedEuclideanDistance (const ReferenceConfigurationOptions &ro)
 
void read (const PDB &)
 Do all local business for setting the configuration. More...
 
double calc (const std::vector< Value * > &vals, const std::vector< double > &arg, const bool &squared)
 
double calc (const std::vector< Vector > &pos, const Pbc &pbc, const std::vector< Value * > &vals, const std::vector< double > &arg, const bool &squared)
 Calculate the distance from the reference configuration. More...
 
double calculate (const std::vector< Value * > &vals, const bool &squared)
 
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...
 
void setReferenceArguments (const std::vector< double > &arg_vals, const std::vector< double > &sigma)
 Set the positions of the refernce 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...
 
double getReferenceArgument (const unsigned &i)
 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 void getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false)
 Retrieve the atoms 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...
 
void setWeight (const double &ww)
 Set the weight for this frame. More...
 
double getWeight () const
 Return the weight for this frame. 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 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
< AtomNumber > & 
getAbsoluteIndexes ()
 These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work. 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, const bool &squared)
 Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space. More...
 
void error (const std::string &msg)
 Crash with an error. More...
 
void clearDerivatives ()
 Clear the derivatives. More...
 

Protected Attributes

bool hasweights
 Are we reading weights from input. More...
 
bool hasmetric
 Are we calculating a Malanobius distance. More...
 
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< Vectoratom_ders
 Derivatives wrt to the atoms. More...
 

Constructor & Destructor Documentation

PLMD::NormalizedEuclideanDistance::NormalizedEuclideanDistance ( const ReferenceConfigurationOptions ro)

Member Function Documentation

double PLMD::NormalizedEuclideanDistance::calc ( const std::vector< Value * > &  vals,
const std::vector< double > &  arg,
const bool &  squared 
)
virtual
double PLMD::ArgumentOnlyDistance::calc ( const std::vector< Vector > &  pos,
const Pbc pbc,
const std::vector< Value * > &  vals,
const std::vector< double > &  args,
const bool &  squared 
)
virtualinherited

Calculate the distance from the reference configuration.

Implements PLMD::ReferenceConfiguration.

double PLMD::ArgumentOnlyDistance::calculate ( const std::vector< Value * > &  vals,
const bool &  squared 
)
inherited
double PLMD::ReferenceConfiguration::calculate ( const std::vector< Vector > &  pos,
const Pbc pbc,
const std::vector< Value * > &  vals,
const bool &  squared = false 
)
inherited

Calculate the distance from the reference configuration.

double PLMD::ReferenceArguments::calculateArgumentDistance ( const std::vector< Value * > &  vals,
const std::vector< double > &  arg,
const bool &  squared 
)
protectedinherited

Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space.

void PLMD::ReferenceConfiguration::checkRead ( )
inherited

Check that all the remarks in the pdb have been read in.

void PLMD::ReferenceConfiguration::clearDerivatives ( )
protectedinherited

Clear the derivatives.

void PLMD::ReferenceConfiguration::copyDerivatives ( const ReferenceConfiguration ref)
inherited

Copy derivatives from one frame to this frame.

void PLMD::ReferenceConfiguration::error ( const std::string &  msg)
protectedinherited

Crash with an error.

const std::vector< AtomNumber > & PLMD::ReferenceConfiguration::getAbsoluteIndexes ( )
inlinevirtualinherited

These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work.

Reimplemented in PLMD::ReferenceAtoms.

double PLMD::ReferenceConfiguration::getArgumentDerivative ( const unsigned &  ider) const
inlineinherited

Return the derivative wrt to the ith argument.

const std::vector< std::string > & PLMD::ReferenceArguments::getArgumentNames ( )
inlinevirtualinherited

Return names.

Reimplemented from PLMD::ReferenceConfiguration.

void PLMD::ReferenceArguments::getArgumentRequests ( std::vector< std::string > &  argout,
bool  disable_checks = false 
)
virtualinherited

Get the arguments required.

Reimplemented from PLMD::ReferenceConfiguration.

Vector PLMD::ReferenceConfiguration::getAtomDerivative ( const unsigned &  ider) const
inlineinherited

Return the derivative wrt to the ith atom.

virtual void PLMD::ReferenceConfiguration::getAtomRequests ( std::vector< AtomNumber > &  ,
bool  disable_checks = false 
)
inlinevirtualinherited

Retrieve the atoms that are required for this guy.

Reimplemented in PLMD::ReferenceAtoms.

std::string PLMD::ReferenceConfiguration::getName ( ) const
inherited

Return the name of this metric.

double PLMD::ReferenceArguments::getReferenceArgument ( const unsigned &  i)
inlinevirtualinherited

Get the value of the ith reference argument.

Reimplemented from PLMD::ReferenceConfiguration.

const std::vector< double > & PLMD::ReferenceArguments::getReferenceArguments ( )
inlinevirtualinherited

Return all the reference arguments.

Reimplemented from PLMD::ReferenceConfiguration.

const std::vector< double > & PLMD::ReferenceArguments::getReferenceMetric ( )
virtualinherited

Reimplemented from PLMD::ReferenceConfiguration.

const std::vector< Vector > & PLMD::ReferenceConfiguration::getReferencePositions ( )
inlinevirtualinherited

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
inherited

Return the derivatives of the distance wrt the cell vectors.

This returns false for everything other than DRMSD as these sort of calculations have to be done separately when you use RMSD

double PLMD::ReferenceConfiguration::getWeight ( ) const
inlineinherited

Return the weight for this frame.

template<class T >
bool PLMD::ReferenceConfiguration::parse ( const std::string &  key,
T &  t,
bool  ignore_missing = false 
)
inherited

Parse something from the pdb remarks.

void PLMD::ReferenceConfiguration::parseFlag ( const std::string &  key,
bool &  t 
)
inherited

Parse a flag.

template<class T >
bool PLMD::ReferenceConfiguration::parseVector ( const std::string &  key,
std::vector< T > &  t,
bool  ignore_missing = false 
)
inherited

Parse vector from the pdb remarks.

void PLMD::ReferenceConfiguration::print ( OFile ofile,
const double &  time,
const double &  weight,
const double &  old_norm 
)
inherited

Print a pdb file containing the reference configuration.

void PLMD::ReferenceConfiguration::print ( OFile ofile,
const std::string &  fmt 
)
inherited
void PLMD::ReferenceArguments::printArguments ( OFile ofile,
const std::string &  fmt 
) const
inherited

Print the arguments out.

void PLMD::NormalizedEuclideanDistance::read ( const PDB )
virtual

Do all local business for setting the configuration.

Implements PLMD::ReferenceConfiguration.

void PLMD::ReferenceArguments::readArgumentsFromPDB ( const PDB pdb)
protectedinherited

Read in the atoms from the pdb file.

void PLMD::ReferenceConfiguration::set ( const PDB pdb)
virtualinherited

Set the reference configuration using a PDB.

void PLMD::ReferenceArguments::setArgumentNames ( const std::vector< std::string > &  arg_vals)
inherited

Set the names of the arguments.

void PLMD::ReferenceConfiguration::setNamesAndAtomNumbers ( const std::vector< AtomNumber > &  numbers,
const std::vector< std::string > &  arg 
)
inherited

Set the atom numbers and the argument names.

void PLMD::ReferenceConfiguration::setNumberOfArguments ( const unsigned &  n)
virtualinherited

Set the final number of arguments.

void PLMD::ReferenceConfiguration::setNumberOfAtoms ( const unsigned &  n)
virtualinherited

Set the final number of atoms.

void PLMD::ReferenceArguments::setReferenceArguments ( )
protectedinherited

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 
)
inherited

Set the positions of the refernce arguments.

void PLMD::ReferenceConfiguration::setReferenceConfig ( const std::vector< Vector > &  pos,
const std::vector< double > &  arg,
const std::vector< double > &  metric 
)
inherited

Set the reference structure (perhaps should also pass the pbc and align and displace )

void PLMD::ReferenceConfiguration::setWeight ( const double &  ww)
inlineinherited

Set the weight for this frame.

Member Data Documentation

std::vector<double> PLMD::ReferenceConfiguration::arg_ders
protectedinherited

Derivatives wrt to the arguments.

std::vector<Vector> PLMD::ReferenceConfiguration::atom_ders
protectedinherited

Derivatives wrt to the atoms.

bool PLMD::ReferenceArguments::hasmetric
protectedinherited

Are we calculating a Malanobius distance.

bool PLMD::ReferenceArguments::hasweights
protectedinherited

Are we reading weights from input.

Tensor PLMD::ReferenceConfiguration::virial
protectedinherited
bool PLMD::ReferenceConfiguration::virialWasSet
protectedinherited

The virial contribution has to be stored.


The documentation for this class was generated from the following file: