PLMD::NormalizedEuclideanDistance Class Reference
Inheritance diagram for PLMD::NormalizedEuclideanDistance:
[legend]

## Public Member Functions

NormalizedEuclideanDistance (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 override
Calculate the distance from the reference configuration. More...

double calculate (const std::vector< Value * > &vals, 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...

virtual double calculateArgumentDistance (const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &myder, const bool &squared) const
Calculate the euclidean/malanobius distance the atoms have moved from the reference configuration in CV space. More...

void copyDerivatives (const ReferenceConfiguration *)
Parse something from the pdb remarks Copy derivatives from one frame to this frame. More...

void displaceReferenceArguments (const double &weight, const std::vector< double > &displace)
Displace the positions of the reference atoms. More...

void displaceReferenceConfiguration (const double &weight, Direction &dir)
Move the reference configuration by an amount specified using a Direction. More...

virtual void extractArgumentDisplacement (const std::vector< Value * > &vals, const std::vector< double > &arg, std::vector< double > &dirout) const
Extract the displacement from a position in a 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...

virtual const std::vector< AtomNumber > & getAbsoluteIndexes ()
These are overwritten in ReferenceArguments and ReferenceAtoms to make frame copying work. More...

const std::vector< std::string > & getArgumentNames () override
Return names. More...

void getArgumentRequests (std::vector< std::string > &, bool disable_checks=false) override
Get the arguments required. More...

virtual void getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false)
Retrieve the atoms that are required for this guy. More...

std::string getName () const
Return the name of this metric. More...

unsigned getNumberOfReferenceArguments () const override
Get the number of reference arguments. More...

virtual unsigned getNumberOfReferencePositions () const

double getReferenceArgument (const unsigned &i) const override
Get the value of the ith reference argument. More...

const std::vector< double > & getReferenceArguments () const override
Return all the reference arguments. More...

const std::vector< double > & getReferenceMetric () override

virtual const std::vector< Vector > & getReferencePositions () const
These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work. More...

void moveReferenceArguments (const std::vector< double > &arg_vals)
Set the positions of the reference arguments. More...

bool pcaIsEnabledForThisReference () override
Stuff for pca. More...

double projectArgDisplacementOnVector (const std::vector< double > &eigv, const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &mypack) const
Project the displacement of the arguments 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 &pdb) override
Do all local business for setting the configuration. More...

void setReferenceArguments (const std::vector< double > &arg_vals, const std::vector< double > &sigma)
Set the positions of the reference arguments. More...

void setupPCAStorage (ReferenceValuePack &mypack) override
Stuff to setup pca. More...

## Protected Member Functions

void error (const std::string &msg)
Crash with an error. More...

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...

## Protected Attributes

bool hasmetric
Are we calculating a Malanobius distance. More...

bool hasweights
Are we reading weights from input. More...

## Private Attributes

std::vector< unsigned > arg_der_index
The indices for setting derivatives. More...

std::vector< std::string > arg_names
The names of the arguments. More...

std::vector< std::string > fake_arg_names

std::vector< AtomNumberfake_atom_numbers
These are used to do fake things when we copy frames. More...

std::vector< double > fake_metric

std::vector< double > fake_refargs

std::vector< Vectorfake_refatoms
These are use by the distance function above. More...

std::vector< std::string > line
A vector containing all the remarks from the pdb input. More...

Matrix< double > metric
The N X N matrix we are using to calculate our Malanobius distance. More...

std::string name
The name of this particular config. More...

std::vector< double > reference_args
The values of the colvars in the reference configuration. More...

std::vector< double > sqrtweight

std::vector< double > trig_metric

std::vector< double > weights
The weights for normed euclidean distance. More...

## ◆ NormalizedEuclideanDistance()

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

## ◆ calc()

 double PLMD::ArgumentOnlyDistance::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
overridevirtualinherited

Calculate the distance from the reference configuration.

Implements PLMD::ReferenceConfiguration.

## ◆ calculate() [1/2]

 double PLMD::ArgumentOnlyDistance::calculate ( const std::vector< Value * > & vals, ReferenceValuePack & myder, const bool & squared ) const
inherited

## ◆ calculate() [2/2]

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

Calculate the distance from the reference configuration.

## ◆ calculateArgumentDistance()

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

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

Reimplemented in PLMD::DotProductDistance.

## ◆ copyDerivatives()

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

Parse something from the pdb remarks Copy derivatives from one frame to this frame.

## ◆ displaceReferenceArguments()

 void PLMD::ReferenceArguments::displaceReferenceArguments ( const double & weight, const std::vector< double > & displace )
inherited

Displace the positions of the reference atoms.

## ◆ displaceReferenceConfiguration()

 void PLMD::ReferenceConfiguration::displaceReferenceConfiguration ( const double & weight, Direction & dir )
inherited

Move the reference configuration by an amount specified using a Direction.

## ◆ error()

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

Crash with an error.

## ◆ extractArgumentDisplacement()

 void PLMD::ReferenceArguments::extractArgumentDisplacement ( const std::vector< Value * > & vals, const std::vector< double > & arg, std::vector< double > & dirout ) const
virtualinherited

Extract the displacement from a position in a space.

Reimplemented in PLMD::Direction.

## ◆ extractDisplacementVector()

 void PLMD::ReferenceConfiguration::extractDisplacementVector ( const std::vector< Vector > & pos, const std::vector< Value * > & vals, const std::vector< double > & arg, const bool & nflag, Direction & mydir ) const
inherited

Extract a Direction giving you the displacement from some position.

## ◆ getAbsoluteIndexes()

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

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

Reimplemented in PLMD::ReferenceAtoms.

## ◆ getArgumentNames()

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

Return names.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getArgumentRequests()

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

Get the arguments required.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getAtomRequests()

 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.

## ◆ getName()

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

Return the name of this metric.

## ◆ getNumberOfReferenceArguments()

 unsigned PLMD::ReferenceArguments::getNumberOfReferenceArguments ( ) const
inlineoverridevirtualinherited

Get the number of reference arguments.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getNumberOfReferencePositions()

 unsigned PLMD::ReferenceConfiguration::getNumberOfReferencePositions ( ) const
inlinevirtualinherited

Reimplemented in PLMD::ReferenceAtoms.

## ◆ getReferenceArgument()

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

Get the value of the ith reference argument.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getReferenceArguments()

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

Return all the reference arguments.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getReferenceMetric()

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

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ getReferencePositions()

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

These are overwritten in ReferenceArguments and ReferenceAtoms but are required here to make PLMD::distance work.

Reimplemented in PLMD::ReferenceAtoms.

## ◆ moveReferenceArguments()

 void PLMD::ReferenceArguments::moveReferenceArguments ( const std::vector< double > & arg_vals )
inherited

Set the positions of the reference arguments.

## ◆ pcaIsEnabledForThisReference()

 bool PLMD::ArgumentOnlyDistance::pcaIsEnabledForThisReference ( )
inlineoverridevirtualinherited

Stuff for pca.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ projectArgDisplacementOnVector()

 double PLMD::ReferenceArguments::projectArgDisplacementOnVector ( const std::vector< double > & eigv, const std::vector< Value * > & vals, const std::vector< double > & arg, ReferenceValuePack & mypack ) const
inherited

Project the displacement of the arguments on a vector.

## ◆ projectDisplacementOnVector()

 double PLMD::ReferenceConfiguration::projectDisplacementOnVector ( const Direction & mydir, const std::vector< Value * > & vals, const std::vector< double > & arg, ReferenceValuePack & mypack ) const
inherited

 void PLMD::ArgumentOnlyDistance::read ( const PDB & )
overridevirtualinherited

Do all local business for setting the configuration.

Implements PLMD::ReferenceConfiguration.

Reimplemented in PLMD::DotProductDistance.

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

Read in the atoms from the pdb file.

## ◆ setReferenceArguments() [1/2]

 void PLMD::ReferenceArguments::setReferenceArguments ( )
protectedinherited

Set the values of the colvars based on their current instantanous values (used in Analysis)

## ◆ setReferenceArguments() [2/2]

 void PLMD::ReferenceArguments::setReferenceArguments ( const std::vector< double > & arg_vals, const std::vector< double > & sigma )
inherited

Set the positions of the reference arguments.

## ◆ setupPCAStorage()

 void PLMD::ArgumentOnlyDistance::setupPCAStorage ( ReferenceValuePack & mypack )
inlineoverridevirtualinherited

Stuff to setup pca.

Reimplemented from PLMD::ReferenceConfiguration.

## ◆ arg_der_index

 std::vector PLMD::ReferenceArguments::arg_der_index
privateinherited

The indices for setting derivatives.

## ◆ arg_names

 std::vector PLMD::ReferenceArguments::arg_names
privateinherited

The names of the arguments.

## ◆ fake_arg_names

 std::vector PLMD::ReferenceConfiguration::fake_arg_names
privateinherited

## ◆ fake_atom_numbers

 std::vector PLMD::ReferenceConfiguration::fake_atom_numbers
privateinherited

These are used to do fake things when we copy frames.

## ◆ fake_metric

 std::vector PLMD::ReferenceConfiguration::fake_metric
privateinherited

## ◆ fake_refargs

 std::vector PLMD::ReferenceConfiguration::fake_refargs
privateinherited

## ◆ fake_refatoms

 std::vector PLMD::ReferenceConfiguration::fake_refatoms
privateinherited

These are use by the distance function above.

## ◆ hasmetric

 bool PLMD::ReferenceArguments::hasmetric
protectedinherited

Are we calculating a Malanobius distance.

## ◆ hasweights

 bool PLMD::ReferenceArguments::hasweights
protectedinherited

Are we reading weights from input.

## ◆ line

 std::vector PLMD::ReferenceConfiguration::line
privateinherited

A vector containing all the remarks from the pdb input.

## ◆ metric

 Matrix PLMD::ReferenceArguments::metric
privateinherited

The N X N matrix we are using to calculate our Malanobius distance.

## ◆ name

 std::string PLMD::ReferenceConfiguration::name
privateinherited

The name of this particular config.

## ◆ reference_args

 std::vector PLMD::ReferenceArguments::reference_args
privateinherited

The values of the colvars in the reference configuration.

## ◆ sqrtweight

 std::vector PLMD::ReferenceArguments::sqrtweight
privateinherited

## ◆ trig_metric

 std::vector PLMD::ReferenceArguments::trig_metric
privateinherited

## ◆ weights

 std::vector PLMD::ReferenceArguments::weights
privateinherited

The weights for normed euclidean distance.

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