indigoX
ParamMolecule Class Reference

#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 ParamAngleGetAngle (const Angle &ang) const
 Get the parameterisation of an angle. More...
 
const ParamAngleGetAngle (const Atom &a, const Atom &b, const Atom &c) const
 Get the parameterisation of an angle. More...
 
const std::vector< ParamAngle > & GetAngles () const
 
const ParamAtomGetAtom (const Atom &atm) const
 Get the parameterisation of an atom. More...
 
const std::vector< ParamAtom > & GetAtoms () const
 
const ParamBondGetBond (const Bond &bnd) const
 Get the parameterisation of a bond. More...
 
const ParamBondGetBond (const Atom &a, const Atom &b) const
 Get the parameterisation of a bond. More...
 
const std::vector< ParamBond > & GetBonds () const
 
const ParamDihedralGetDihedral (const Dihedral &dhd)
 Get the parameterisation of a dihedral. More...
 
const ParamDihedralGetDihedral (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
 
ParamMoleculeoperator= (const ParamMolecule &)=default
 
ParamMoleculeoperator= (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)
 

Member Typedef Documentation

◆ PAngle

Type defining angles.

◆ ParamAngles

using ParamAngles = eastl::vector_map<PAngle, uint32_t>

Container type to hold parameterised angles.

◆ ParamAtoms

using ParamAtoms = eastl::vector_map<Atom, uint32_t>

Container type to hold parameterised atoms.

◆ ParamBonds

using ParamBonds = eastl::vector_map<PBond, uint32_t>

Container type to hold parameterised bonds.

◆ ParamDihedrals

using ParamDihedrals = eastl::vector_map<PDihedral, uint32_t>

Container type to hold parameterised dihedrals.

◆ PBond

using PBond = std::pair<Atom, Atom>

Type defining bonds.

◆ PDihedral

Type defining dihedrals.

Constructor & Destructor Documentation

◆ ParamMolecule() [1/4]

ParamMolecule ( )
default

◆ ParamMolecule() [2/4]

ParamMolecule ( const ParamMolecule )
default

◆ ParamMolecule() [3/4]

ParamMolecule ( ParamMolecule &&  )
default

◆ ~ ParamMolecule()

~ ParamMolecule ( )
default

◆ ParamMolecule() [4/4]

ParamMolecule ( const Molecule mol)

Normal constructor.

Parameters
molthe molecule to parameterise.

Member Function Documentation

◆ ApplyParameteristion()

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.

Parameters
self_consistentapply parapmeterisation self consistently.

◆ GetAngle() [1/2]

const ParamAngle& GetAngle ( const Angle ang) const

Get the parameterisation of an angle.

Parameters
angthe angle to get.
Returns
the parameterisation angle.

◆ GetAngle() [2/2]

const ParamAngle& GetAngle ( const Atom a,
const Atom b,
const Atom c 
) const

Get the parameterisation of an angle.

Parameters
atmsthe triple of atoms the angle is between.
Returns
the parameterisation angle.

◆ GetAngles()

const std::vector<ParamAngle>& GetAngles ( ) const

◆ GetAtom()

const ParamAtom& GetAtom ( const Atom atm) const

Get the parameterisation of an atom.

Parameters
atmthe atom to get
Returns
the parameterisation atom.

◆ GetAtoms()

const std::vector<ParamAtom>& GetAtoms ( ) const

◆ GetBond() [1/2]

const ParamBond& GetBond ( const Bond bnd) const

Get the parameterisation of a bond.

Parameters
bndthe bond to get
Returns
the parameterisation bond.

◆ GetBond() [2/2]

const ParamBond& GetBond ( const Atom a,
const Atom b 
) const

Get the parameterisation of a bond.

Parameters
atmsthe pair of atoms the bond is between
Returns
the parameterisation bond.

◆ GetBonds()

const std::vector<ParamBond>& GetBonds ( ) const

◆ GetDihedral() [1/2]

const ParamDihedral& GetDihedral ( const Dihedral dhd)

Get the parameterisation of a dihedral.

Parameters
dhdthe dihedral to get.
Returns
the parameterisation dihedral.

◆ GetDihedral() [2/2]

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.

Parameters
atmsthe quad of atoms the dihedral is between.
Returns
the parameterisation dihedral.

◆ GetDihedrals()

const std::vector<ParamDihedral>& GetDihedrals ( ) const

◆ operator bool()

operator bool ( ) const
inline

◆ operator!=()

bool operator!= ( const ParamMolecule mol) const
inline

◆ operator<()

bool operator< ( const ParamMolecule mol) const

◆ operator<=()

bool operator<= ( const ParamMolecule mol) const
inline

◆ operator=() [1/2]

ParamMolecule& operator= ( ParamMolecule &&  )
default

◆ operator=() [2/2]

ParamMolecule& operator= ( const ParamMolecule )
default

◆ operator==()

bool operator== ( const ParamMolecule mol) const

◆ operator>()

bool operator> ( const ParamMolecule mol) const

◆ operator>=()

bool operator>= ( const ParamMolecule mol) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const ParamMolecule mol 
)
friend

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