indigoX
|
#include <indigox/classes/parameterised.hpp>
Public Types | |
using | PAngle = stdx::triple< Atom > |
Type defining angles. More... | |
using | ParamAngles = eastl::vector_map< PAngle, uint32_t > |
Container type to hold parameterised angles. More... | |
using | ParamAtoms = eastl::vector_map< Atom, uint32_t > |
Container type to hold parameterised atoms. More... | |
using | ParamBonds = eastl::vector_map< PBond, uint32_t > |
Container type to hold parameterised bonds. More... | |
using | ParamDihedrals = eastl::vector_map< PDihedral, uint32_t > |
Container type to hold parameterised dihedrals. More... | |
using | PBond = std::pair< Atom, Atom > |
Type defining bonds. More... | |
using | PDihedral = stdx::quad< Atom > |
Type defining dihedrals. More... | |
Public Member Functions | |
ParamMolecule ()=default | |
ParamMolecule (const ParamMolecule &)=default | |
ParamMolecule (ParamMolecule &&)=default | |
ParamMolecule (const Molecule &mol) | |
Normal constructor. More... | |
~ ParamMolecule ()=default | |
void | ApplyParameteristion (bool self_consistent) |
Applies the current parameterisation state. More... | |
const ParamAngle & | GetAngle (const Angle &ang) const |
Get the parameterisation of an angle. More... | |
const ParamAngle & | GetAngle (const Atom &a, const Atom &b, const Atom &c) const |
Get the parameterisation of an angle. More... | |
const std::vector< ParamAngle > & | GetAngles () const |
const ParamAtom & | GetAtom (const Atom &atm) const |
Get the parameterisation of an atom. More... | |
const std::vector< ParamAtom > & | GetAtoms () const |
const ParamBond & | GetBond (const Bond &bnd) const |
Get the parameterisation of a bond. More... | |
const ParamBond & | GetBond (const Atom &a, const Atom &b) const |
Get the parameterisation of a bond. More... | |
const std::vector< ParamBond > & | GetBonds () const |
const ParamDihedral & | GetDihedral (const Dihedral &dhd) |
Get the parameterisation of a dihedral. More... | |
const ParamDihedral & | GetDihedral (const Atom &a, const Atom &b, const Atom &c, const Atom &d) |
Get the parameterisation of a dihedral. More... | |
const std::vector< ParamDihedral > & | GetDihedrals () const |
operator bool () const | |
bool | operator!= (const ParamMolecule &mol) const |
bool | operator< (const ParamMolecule &mol) const |
bool | operator<= (const ParamMolecule &mol) const |
ParamMolecule & | operator= (const ParamMolecule &)=default |
ParamMolecule & | operator= (ParamMolecule &&)=default |
bool | operator== (const ParamMolecule &mol) const |
bool | operator> (const ParamMolecule &mol) const |
bool | operator>= (const ParamMolecule &mol) const |
Friends | |
std::ostream & | operator<< (std::ostream &os, const ParamMolecule &mol) |
using PAngle = stdx::triple<Atom> |
Type defining angles.
using ParamAngles = eastl::vector_map<PAngle, uint32_t> |
Container type to hold parameterised angles.
using ParamAtoms = eastl::vector_map<Atom, uint32_t> |
Container type to hold parameterised atoms.
using ParamBonds = eastl::vector_map<PBond, uint32_t> |
Container type to hold parameterised bonds.
using ParamDihedrals = eastl::vector_map<PDihedral, uint32_t> |
Container type to hold parameterised dihedrals.
using PDihedral = stdx::quad<Atom> |
Type defining dihedrals.
|
default |
|
default |
|
default |
|
default |
ParamMolecule | ( | const Molecule & | mol | ) |
Normal constructor.
mol | the molecule to parameterise. |
void ApplyParameteristion | ( | bool | self_consistent | ) |
Applies the current parameterisation state.
Goes through all parameterised parts and calls the apply parameterisation method on each of them.
self_consistent | apply parapmeterisation self consistently. |
const ParamAngle& GetAngle | ( | const Angle & | ang | ) | const |
Get the parameterisation of an angle.
ang | the angle to get. |
const ParamAngle& GetAngle | ( | const Atom & | a, |
const Atom & | b, | ||
const Atom & | c | ||
) | const |
Get the parameterisation of an angle.
atms | the triple of atoms the angle is between. |
const std::vector<ParamAngle>& GetAngles | ( | ) | const |
Get the parameterisation of an atom.
atm | the atom to get |
const std::vector<ParamAtom>& GetAtoms | ( | ) | const |
Get the parameterisation of a bond.
bnd | the bond to get |
Get the parameterisation of a bond.
atms | the pair of atoms the bond is between |
const std::vector<ParamBond>& GetBonds | ( | ) | const |
const ParamDihedral& GetDihedral | ( | const Dihedral & | dhd | ) |
Get the parameterisation of a dihedral.
dhd | the dihedral to get. |
const ParamDihedral& GetDihedral | ( | const Atom & | a, |
const Atom & | b, | ||
const Atom & | c, | ||
const Atom & | d | ||
) |
Get the parameterisation of a dihedral.
To allow for the parameterisation of dihedrals, such as impropers used to keep chirality, which are not percieved within the molecule, if the given atoms are not found, a new ParamDihedral will be created.
atms | the quad of atoms the dihedral is between. |
const std::vector<ParamDihedral>& GetDihedrals | ( | ) | const |
|
inline |
|
inline |
bool operator< | ( | const ParamMolecule & | mol | ) | const |
|
inline |
|
default |
|
default |
bool operator== | ( | const ParamMolecule & | mol | ) | const |
bool operator> | ( | const ParamMolecule & | mol | ) | const |
|
inline |
|
friend |