indigoX
ParamAngle Class Reference

#include <indigox/classes/parameterised.hpp>

Public Types

using AngleAtoms = stdx::triple< Atom >
 Type giving the atoms this parameterised angle is between. More...
 
using TypeCounts = eastl::vector_map< FFAngle, size_t >
 Type giving counts of each mapped angle type. More...
 

Public Member Functions

 ParamAngle ()=default
 
 ParamAngle (const ParamAngle &)=default
 
 ParamAngle (ParamAngle &&)=default
 
 ParamAngle (AngleAtoms atms, const Angle &ang)
 Normal constructor. More...
 
 ~ ParamAngle ()=default
 
bool ApplyParameterisation (bool self_consistent)
 Apply the parameterisation. More...
 
const AngleGetAngle () const
 Get the angle that is parameterised. More...
 
const AngleAtomsGetAtoms () const
 Get the atoms this parameterises the angle between. More...
 
const TypeCountsGetMappedTypeCounts () const
 
const FFAngleGetMostCommonType () const
 Get the mode of mapped bond types. More...
 
void MappedWith (const Angle &mapped)
 Obtain details from mapped angles. More...
 
int64_t NumSourceAngles () const
 Calculate the number of mapped angles. More...
 
 operator bool () const
 
bool operator!= (const ParamAngle &ang) const
 
bool operator< (const ParamAngle &ang) const
 
bool operator<= (const ParamAngle &ang) const
 
ParamAngleoperator= (const ParamAngle &)=default
 
ParamAngleoperator= (ParamAngle &&)=default
 
bool operator== (const ParamAngle &ang) const
 
bool operator> (const ParamAngle &ang) const
 
bool operator>= (const ParamAngle &ang) const
 

Friends

std::ostream & operator<< (std::ostream &os, const ParamAngle &ang)
 
class ParamMolecule
 

Member Typedef Documentation

◆ AngleAtoms

Type giving the atoms this parameterised angle is between.

◆ TypeCounts

using TypeCounts = eastl::vector_map<FFAngle, size_t>

Type giving counts of each mapped angle type.

Constructor & Destructor Documentation

◆ ParamAngle() [1/4]

ParamAngle ( )
default

◆ ParamAngle() [2/4]

ParamAngle ( const ParamAngle )
default

◆ ParamAngle() [3/4]

ParamAngle ( ParamAngle &&  )
default

◆ ~ ParamAngle()

~ ParamAngle ( )
default

◆ ParamAngle() [4/4]

ParamAngle ( AngleAtoms  atms,
const Angle ang 
)

Normal constructor.

Parameters
a,b,cthe atoms which mark the parameterised angle.

Member Function Documentation

◆ ApplyParameterisation()

bool ApplyParameterisation ( bool  self_consistent)

Apply the parameterisation.

Applies the parameteristion. Doing so sets the angle type to the most common type. Additionally, doing so will mean that no more angles can be mapped with. If the self_consistent flag is true, there is a requirement that all the mapped angles have the same parameters. As such, if there arises a situtation where this requirement is not met, an exception will be thrown.

Parameters
self_consistentif the parameterisation needs to be self consistent.

◆ GetAngle()

const Angle& GetAngle ( ) const

Get the angle that is parameterised.

Returns
the parameterised bond.

◆ GetAtoms()

const AngleAtoms& GetAtoms ( ) const

Get the atoms this parameterises the angle between.

Returns
the three atoms defining the angle this parameterises.

◆ GetMappedTypeCounts()

const TypeCounts& GetMappedTypeCounts ( ) const

◆ GetMostCommonType()

const FFAngle& GetMostCommonType ( ) const

Get the mode of mapped bond types.

Returns
the most commonly mapped bond type.

◆ MappedWith()

void MappedWith ( const Angle mapped)

Obtain details from mapped angles.

Parameters
mappedthe angle matched.

◆ NumSourceAngles()

int64_t NumSourceAngles ( ) const

Calculate the number of mapped angles.

Returns
the number of angles which have currently been mapped.

◆ operator bool()

operator bool ( ) const
inline

◆ operator!=()

bool operator!= ( const ParamAngle ang) const
inline

◆ operator<()

bool operator< ( const ParamAngle ang) const

◆ operator<=()

bool operator<= ( const ParamAngle ang) const
inline

◆ operator=() [1/2]

ParamAngle& operator= ( ParamAngle &&  )
default

◆ operator=() [2/2]

ParamAngle& operator= ( const ParamAngle )
default

◆ operator==()

bool operator== ( const ParamAngle ang) const

◆ operator>()

bool operator> ( const ParamAngle ang) const

◆ operator>=()

bool operator>= ( const ParamAngle ang) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const ParamAngle ang 
)
friend

◆ ParamMolecule

friend class ParamMolecule
friend

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