Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
PLMD::IntermolecularDRMSD Class Reference
Inheritance diagram for PLMD::IntermolecularDRMSD:
Inheritance graph
[legend]

Public Member Functions

 IntermolecularDRMSD (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 calc (const std::vector< Vector > &pos, const Pbc &pbc, ReferenceValuePack &myder, const bool &squared) const
 Calculate the distance using the input position. 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...
 
virtual 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...
 
virtual bool pcaIsEnabledForThisReference ()
 Stuff for pca. More...
 
virtual double projectAtomicDisplacementOnVector (const bool &normalized, const std::vector< Vector > &eigv, 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 &pdb)
 Check that similar comparisons are being performed - perhaps this is needed ask Davide? GAT. More...
 
void setBoundsOnDistances (bool dopbc, double lbound=0.0, double ubound=std::numeric_limits< double >::max())
 This sets upper and lower bounds on distances to be used in DRMSD. More...
 
void setReferenceAtoms (const std::vector< Vector > &conf, const std::vector< double > &align_in, const std::vector< double > &displace_in)
 Set the reference structure. More...
 
void setup_targets ()
 
virtual void setupPCAStorage (ReferenceValuePack &mypack)
 Stuff to setup pca. More...
 
virtual void setupRMSDObject ()
 This is used by MultiDomainRMSD to setup the RMSD object in Optimal RMSD type. 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 readBounds (const PDB &)
 Read in NOPBC, LOWER_CUTOFF and UPPER_CUTOFF. More...
 
void readReference (const PDB &pdb)
 
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...
 

Protected Attributes

bool bounds_were_set
 
double lower
 
std::map< std::pair< unsigned, unsigned >, double > targets
 
double upper
 

Private Attributes

std::vector< unsigned > blocks
 
unsigned nblocks
 

Constructor & Destructor Documentation

◆ IntermolecularDRMSD()

PLMD::IntermolecularDRMSD::IntermolecularDRMSD ( const ReferenceConfigurationOptions ro)
explicit

Member Function Documentation

◆ calc() [1/2]

double PLMD::SingleDomainRMSD::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
virtualinherited

Calculate.

Implements PLMD::ReferenceConfiguration.

◆ calc() [2/2]

double PLMD::DRMSD::calc ( const std::vector< Vector > &  pos,
const Pbc pbc,
ReferenceValuePack myder,
const bool &  squared 
) const
virtualinherited

Calculate the distance using the input position.

Implements PLMD::SingleDomainRMSD.

◆ calculate() [1/2]

double PLMD::SingleDomainRMSD::calculate ( const std::vector< Vector > &  pos,
const Pbc pbc,
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.

◆ copyDerivatives()

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

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

◆ displaceReferenceAtoms()

void PLMD::ReferenceAtoms::displaceReferenceAtoms ( const double &  weight,
const std::vector< Vector > &  dir 
)
inherited

Displace the positions of the reference atoms a bit.

◆ displaceReferenceConfiguration()

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

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

◆ error()

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

Crash with an error.

◆ extractAtomicDisplacement()

virtual void PLMD::ReferenceAtoms::extractAtomicDisplacement ( const std::vector< Vector > &  pos,
std::vector< Vector > &  direction 
) const
inlinevirtualinherited

Extract a displacement from a position in space.

Reimplemented in PLMD::MultiDomainRMSD, PLMD::Direction, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.

◆ 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::ReferenceAtoms::getAbsoluteIndexes ( )
inlinevirtualinherited

Return all atom indexes.

Reimplemented from PLMD::ReferenceConfiguration.

◆ getAlign()

const std::vector< double > & PLMD::ReferenceAtoms::getAlign ( ) const
inlineinherited

Get the vector of alignment weights.

◆ getArgumentNames()

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

Reimplemented in PLMD::ReferenceArguments.

◆ getArgumentRequests()

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

Retrieve the arguments that are required for this guy.

Reimplemented in PLMD::ReferenceArguments.

◆ getAtomIndex()

unsigned PLMD::ReferenceAtoms::getAtomIndex ( const unsigned &  iatom) const
inlineinherited

This allows us to use a single pos array with RMSD objects using different atom indexes.

◆ getAtomRequests()

void PLMD::ReferenceAtoms::getAtomRequests ( std::vector< AtomNumber > &  numbers,
bool  disable_checks = false 
)
virtualinherited

Get the atoms required (additional checks are required when we have multiple domains)

Reimplemented from PLMD::ReferenceConfiguration.

◆ getDisplace()

const std::vector< double > & PLMD::ReferenceAtoms::getDisplace ( ) const
inlineinherited

Get the vector of displacement weights.

◆ getName()

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

Return the name of this metric.

◆ getNumberOfAtoms()

unsigned PLMD::ReferenceAtoms::getNumberOfAtoms ( ) const
inlineinherited

This returns how many atoms there should be.

◆ getNumberOfReferenceArguments()

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

Reimplemented in PLMD::ReferenceArguments.

◆ getNumberOfReferencePositions()

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

This returns the number of reference atom positions.

Reimplemented from PLMD::ReferenceConfiguration.

◆ getReferenceArgument()

virtual double PLMD::ReferenceConfiguration::getReferenceArgument ( const unsigned &  i) const
inlinevirtualinherited

Get one of the referene arguments.

Reimplemented in PLMD::ReferenceArguments.

◆ getReferenceArguments()

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

Reimplemented in PLMD::ReferenceArguments.

◆ getReferenceMetric()

const std::vector< double > & PLMD::ReferenceConfiguration::getReferenceMetric ( )
inlinevirtualinherited

Reimplemented in PLMD::ReferenceArguments.

◆ getReferencePosition()

Vector PLMD::ReferenceAtoms::getReferencePosition ( const unsigned &  iatom) const
inlineprotectedinherited

Get the position of the ith atom.

◆ getReferencePositions()

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

Get the reference positions.

Reimplemented from PLMD::ReferenceConfiguration.

◆ parseAtomList()

bool PLMD::ReferenceAtoms::parseAtomList ( const std::string &  ,
std::vector< unsigned > &   
)
protectedinherited

Read a list of atoms from the pdb input file.

◆ pcaIsEnabledForThisReference()

virtual bool PLMD::ReferenceConfiguration::pcaIsEnabledForThisReference ( )
inlinevirtualinherited

◆ projectAtomicDisplacementOnVector()

virtual double PLMD::ReferenceAtoms::projectAtomicDisplacementOnVector ( const bool &  normalized,
const std::vector< Vector > &  eigv,
ReferenceValuePack mypack 
) const
inlinevirtualinherited

Project the displacement on a vector.

Reimplemented in PLMD::MultiDomainRMSD, PLMD::OptimalRMSD, and PLMD::SimpleRMSD.

◆ projectDisplacementOnVector()

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

◆ read()

void PLMD::IntermolecularDRMSD::read ( const PDB pdb)
virtual

Check that similar comparisons are being performed - perhaps this is needed ask Davide? GAT.

Reimplemented from PLMD::DRMSD.

◆ readAtomsFromPDB()

void PLMD::ReferenceAtoms::readAtomsFromPDB ( const PDB pdb,
const bool  allowblocks = false 
)
protectedinherited

Read in the atoms from the pdb file.

◆ readBounds()

void PLMD::DRMSD::readBounds ( const PDB pdb)
protectedinherited

Read in NOPBC, LOWER_CUTOFF and UPPER_CUTOFF.

◆ readReference()

void PLMD::SingleDomainRMSD::readReference ( const PDB pdb)
protectedinherited

◆ setAtomIndices()

void PLMD::ReferenceAtoms::setAtomIndices ( const std::vector< AtomNumber > &  atomnumbers)
protectedinherited

Add atom indices to list.

◆ setBoundsOnDistances()

void PLMD::DRMSD::setBoundsOnDistances ( bool  dopbc,
double  lbound = 0.0,
double  ubound = std::numeric_limits<double>::max( ) 
)
virtualinherited

This sets upper and lower bounds on distances to be used in DRMSD.

Reimplemented from PLMD::SingleDomainRMSD.

◆ setReferenceAtoms()

void PLMD::DRMSD::setReferenceAtoms ( const std::vector< Vector > &  conf,
const std::vector< double > &  align_in,
const std::vector< double > &  displace_in 
)
virtualinherited

Set the reference structure.

Reimplemented from PLMD::SingleDomainRMSD.

◆ setup_targets()

void PLMD::IntermolecularDRMSD::setup_targets ( )
virtual

Reimplemented from PLMD::DRMSD.

◆ setupPCAStorage()

virtual void PLMD::ReferenceConfiguration::setupPCAStorage ( ReferenceValuePack mypack)
inlinevirtualinherited

◆ setupRMSDObject()

virtual void PLMD::SingleDomainRMSD::setupRMSDObject ( )
inlinevirtualinherited

This is used by MultiDomainRMSD to setup the RMSD object in Optimal RMSD type.

Reimplemented in PLMD::OptimalRMSD.

◆ singleDomainRequests()

void PLMD::ReferenceAtoms::singleDomainRequests ( std::vector< AtomNumber > &  numbers,
bool  disable_checks 
)
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

Member Data Documentation

◆ blocks

std::vector<unsigned> PLMD::IntermolecularDRMSD::blocks
private

◆ bounds_were_set

bool PLMD::DRMSD::bounds_were_set
protectedinherited

◆ lower

double PLMD::DRMSD::lower
protectedinherited

◆ nblocks

unsigned PLMD::IntermolecularDRMSD::nblocks
private

◆ targets

std::map< std::pair <unsigned,unsigned>, double> PLMD::DRMSD::targets
protectedinherited

◆ upper

double PLMD::DRMSD::upper
protectedinherited

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