|
| | ReferenceAtoms (const ReferenceConfigurationOptions &ro) |
| 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.
|
| 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.
|
| void | copyDerivatives (const ReferenceConfiguration *) |
| | Parse something from the pdb remarks Copy derivatives from one frame to this frame.
|
| void | displaceReferenceAtoms (const double &weight, const std::vector< Vector > &dir) |
| | Displace the positions of the reference atoms a bit.
|
| void | displaceReferenceConfiguration (const double &weight, Direction &dir) |
| | Move the reference configuration by an amount specified using a Direction.
|
| virtual void | extractAtomicDisplacement (const std::vector< Vector > &pos, std::vector< Vector > &direction) const |
| | Extract a displacement from a position in space.
|
| 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.
|
| const std::vector< AtomNumber > & | getAbsoluteIndexes () override |
| | Return all atom indexes.
|
| const std::vector< double > & | getAlign () const |
| | Get the vector of alignment weights.
|
| 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.
|
| unsigned | getAtomIndex (const unsigned &) const |
| | This allows us to use a single pos array with RMSD objects using different atom indexes.
|
| void | getAtomRequests (std::vector< AtomNumber > &, bool disable_checks=false) override |
| | Get the atoms required (additional checks are required when we have multiple domains).
|
| const std::vector< double > & | getDisplace () const |
| | Get the vector of displacement weights.
|
| std::string | getName () const |
| | Return the name of this metric.
|
| unsigned | getNumberOfAtoms () const |
| | This returns how many atoms there should be.
|
| virtual unsigned | getNumberOfReferenceArguments () const |
| unsigned | getNumberOfReferencePositions () const override |
| | This returns the number of reference atom positions.
|
| virtual double | getReferenceArgument (const unsigned &i) const |
| | Get one of the referene arguments.
|
| virtual const std::vector< double > & | getReferenceArguments () const |
| virtual const std::vector< double > & | getReferenceMetric () |
| const std::vector< Vector > & | getReferencePositions () const override |
| | Get the reference positions.
|
| virtual bool | pcaIsEnabledForThisReference () |
| | Stuff for pca.
|
| virtual double | projectAtomicDisplacementOnVector (const bool &normalized, const std::vector< Vector > &eigv, ReferenceValuePack &mypack) const |
| | Project the displacement on a vector.
|
| double | projectDisplacementOnVector (const Direction &mydir, const std::vector< Value * > &vals, const std::vector< double > &arg, ReferenceValuePack &mypack) const |
| virtual void | read (const PDB &)=0 |
| | Do all local business for setting the configuration.
|
| 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.
|
| virtual void | setupPCAStorage (ReferenceValuePack &mypack) |
| | Stuff to setup pca.
|
|
| std::vector< double > | align |
| | The atoms to be used to align the instantaneous atomic positions to the reference configuration.
|
| std::vector< unsigned > | atom_der_index |
| | The indeces for setting derivatives.
|
| 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.
|
| std::vector< double > | displace |
| | The atoms to be used to calculate the distance the atoms have moved from the reference configuration.
|
| std::vector< std::string > | fake_arg_names |
| std::vector< AtomNumber > | fake_atom_numbers |
| | These are used to do fake things when we copy frames.
|
| std::vector< double > | fake_metric |
| std::vector< double > | fake_refargs |
| std::vector< Vector > | fake_refatoms |
| | These are use by the distance function above.
|
| std::vector< AtomNumber > | indices |
| | The indices of the atoms in the pdb file.
|
| std::vector< std::string > | line |
| | A vector containing all the remarks from the pdb input.
|
| std::string | name |
| | The name of this particular config.
|
| std::vector< Vector > | reference_atoms |
| | The positions of the atoms in the reference configuration.
|
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
- Alternatively, one could calculate the values of a large set of collective coordinates in the two configurations and then calculate the Euclidean distances between these two points in the resulting high-dimensional vector space. Lastly, one can combine these two forms of distance calculation to calculate a hybrid distance. Plumed allows one to use all these forms of distance calculations and also to implement new forms of distance. You should inherit from this class if your distance involves reference atomic positions. This class and PLMD::ReferenceArguments mirror the functionalities in and PLMD::ActionAtomistic and PLMD::ActionWithArguments respectively but for distances.