1 #include "../utils/fwd_declares.hpp" 2 #include "../utils/numerics.hpp" 3 #include "../utils/quad.hpp" 4 #include "../utils/triple.hpp" 6 #include <EASTL/vector_map.h> 10 #ifndef INDIGOX_CLASSES_PARAMETERISED_HPP 11 #define INDIGOX_CLASSES_PARAMETERISED_HPP 79 std::shared_ptr<ParamAtomImpl> m_data;
135 struct ParamBondImpl;
136 std::shared_ptr<ParamBondImpl> m_data;
192 struct ParamAngleImpl;
193 std::shared_ptr<ParamAngleImpl> m_data;
251 struct ParamDihedralImpl;
252 std::shared_ptr<ParamDihedralImpl> m_data;
260 using PBond = std::pair<Atom, Atom>;
312 const Atom &c)
const;
329 const std::vector<ParamAtom> &
GetAtoms()
const;
330 const std::vector<ParamBond> &
GetBonds()
const;
331 const std::vector<ParamAngle> &
GetAngles()
const;
335 struct ParamMoleculeImpl;
336 std::shared_ptr<ParamMoleculeImpl> m_data;
Definition: forcefield.hpp:18
Definition: forcefield.hpp:58
double MeanCharge() const
Get the mean of the charges.
const ParamAngle & GetAngle(const Angle &ang) const
Get the parameterisation of an angle.
#define INDIGOX_GENERIC_PIMPL_CLASS_DEFAULTS(class_name)
Definition: fwd_declares.hpp:18
void ApplyParameteristion(bool self_consistent)
Applies the current parameterisation state.
const std::vector< ParamAtom > & GetAtoms() const
eastl::vector_map< Atom, uint32_t > ParamAtoms
Container type to hold parameterised atoms.
Definition: parameterised.hpp:258
const BondAtoms & GetAtoms() const
Get the atoms this parameterises the bond between.
eastl::vector_map< FFAngle, size_t > TypeCounts
Type giving counts of each mapped angle type.
Definition: parameterised.hpp:142
bool ApplyParameterisation(bool self_consistent)
Apply the parameterisation.
void MappedWith(const Angle &mapped)
Obtain details from mapped angles.
const DihedralAtoms & GetAtoms() const
Get the atoms this parameterises the angle between.
const Angle & GetAngle() const
Get the angle that is parameterised.
const TypeCounts & GetMappedTypeCounts() const
const Bond & GetBond() const
Get the bond that is parameterised.
double StandardDeviationCharge() const
Get the standard deviation of the charges.
const Atom & GetAtom() const
Get the atom this parameterises.
const FFAtom & GetMostCommonType() const
Get the mode of mapped atom types.
eastl::vector_map< PDihedral, uint32_t > ParamDihedrals
Container type to hold parameterised dihedrals.
Definition: parameterised.hpp:270
const Dihedral & GetDihedral() const
Get the dihedral that is parameterised.
const TypeCounts & GetMappedTypeCounts() const
bool ApplyParameterisation(bool self_consistent)
Apply the parameterisation.
const ParamAtom & GetAtom(const Atom &atm) const
Get the parameterisation of an atom.
Namespace for all graph related functionality.
Definition: access.hpp:7
void MappedWith(const Dihedral &mapped)
Obtain details from mapped dihedral.
const TypeCounts & GetMappedTypeCounts() const
const std::vector< ParamBond > & GetBonds() const
int64_t NumSourceBonds() const
Calculates the number of mapped bonds.
const ParamDihedral & GetDihedral(const Dihedral &dhd)
Get the parameterisation of a dihedral.
std::pair< Atom, Atom > BondAtoms
Type giving the atoms this parameterised bond is between.
Definition: parameterised.hpp:87
const std::vector< ParamAngle > & GetAngles() const
const ParamBond & GetBond(const Bond &bnd) const
Get the parameterisation of a bond.
int64_t NumSourceAtoms() const
Calculates the number of mapped atoms.
eastl::vector_map< FFBond, size_t > TypeCounts
Type giving counts of each mapped bond type.
Definition: parameterised.hpp:85
Definition: triple.hpp:11
bool ApplyParameterisation(bool self_consistent)
Apply the parameterisation.
const AngleAtoms & GetAtoms() const
Get the atoms this parameterises the angle between.
Definition: dihedral.hpp:14
void MappedWith(const Atom &mapped)
Obtain details from mapped atom.
Definition: molecule.hpp:15
std::pair< Atom, Atom > PBond
Type defining bonds.
Definition: parameterised.hpp:260
Definition: parameterised.hpp:196
#define INDIGOX_GENERIC_PIMPL_CLASS_OPERATORS(class_name, short_name)
Definition: fwd_declares.hpp:26
eastl::vector_map< FFAtom, size_t > TypeCounts
Type giving counts of each mapped atom type.
Definition: parameterised.hpp:18
std::vector< FFDihedral > TypeGroup
Type giving counts of each mapped dihedral type.
Definition: parameterised.hpp:199
const FFBond & GetMostCommonType() const
Get the mode of mapped bond types.
const MappedCharge & GetMappedCharges() const
Definition: parameterised.hpp:139
const TypeGroup & GetMostCommonType() const
Get the mode of mapped bond types.
int64_t NumSourceDihedral() const
Calculate the number of mapped dihedrals.
eastl::vector_map< PAngle, uint32_t > ParamAngles
Container type to hold parameterised angles.
Definition: parameterised.hpp:266
int64_t NumSourceAngles() const
Calculate the number of mapped angles.
eastl::vector_map< PBond, uint32_t > ParamBonds
Container type to hold parameterised bonds.
Definition: parameterised.hpp:262
Definition: parameterised.hpp:15
std::vector< double > MappedCharge
Type giving all mapped charges.
Definition: parameterised.hpp:20
const std::vector< ParamDihedral > & GetDihedrals() const
const TypeCounts & GetMappedTypeCounts() const
Definition: parameterised.hpp:255
Definition: parameterised.hpp:82
const FFAngle & GetMostCommonType() const
Get the mode of mapped bond types.
Definition: forcefield.hpp:151
void MappedWith(const Bond &mapped)
Obtain details from mapped bonds.
eastl::vector_map< TypeGroup, size_t > TypeCounts
Definition: parameterised.hpp:200
double MeadianCharge()
Get the median of the charges.
bool ApplyParameterisation(bool self_consistent)
Apply the parameterisation.