indigoX
Dihedral Class Reference

#include <indigox/classes/dihedral.hpp>

Classes

struct  Impl
 

Public Types

using DihedralAtoms = std::array< Atom, 4 >
 Container for storing IXAtom references assigned to an IXDihedral. More...
 
using DihedralTypes = std::vector< FFDihedral >
 Type for storing dihedral parameters. More...
 

Public Member Functions

 Dihedral ()=default
 
 Dihedral (const Dihedral &)=default
 
 Dihedral (Dihedral &&)=default
 
 ~ Dihedral ()=default
 
void AddType (const FFDihedral &type)
 Set the type of the dihedral. More...
 
const DihedralAtomsGetAtoms () const
 Get the atoms of the dihedral. More...
 
int64_t GetID () const
 
int64_t GetIndex () const
 Get the index from the molecule. More...
 
const MoleculeGetMolecule () const
 Molecule this dihedral is associated with. More...
 
int32_t GetPriority () const
 
int64_t GetTag () const
 Tag of the dihedral. More...
 
const DihedralTypesGetTypes () const
 
bool HasType () const
 
constexpr int64_t NumAtoms () const
 Number of atoms this dihedral contains. More...
 
int64_t NumTypes () const
 Get the type of the dihedral. More...
 
 operator bool () const
 
bool operator!= (const Dihedral &dhd) const
 
bool operator< (const Dihedral &dhd) const
 
bool operator<= (const Dihedral &dhd) const
 
Dihedraloperator= (const Dihedral &)=default
 
Dihedraloperator= (Dihedral &&)=default
 
bool operator== (const Dihedral &dhd) const
 
bool operator> (const Dihedral &dhd) const
 
bool operator>= (const Dihedral &dhd) const
 
void RemoveType (const FFDihedral &type)
 
void SetTag (int64_t tag)
 Set the tag of this dihedral. More...
 
void SetTypes (const DihedralTypes &types)
 

Friends

class cereal::access
 Friendship allows serialisation. More...
 
class indigox::Molecule
 Friendship allows Molecule to create new dihedrals. More...
 
std::ostream & operator<< (std::ostream &os, const Dihedral &dhd)
 

Member Typedef Documentation

◆ DihedralAtoms

using DihedralAtoms = std::array<Atom, 4>

Container for storing IXAtom references assigned to an IXDihedral.

◆ DihedralTypes

using DihedralTypes = std::vector<FFDihedral>

Type for storing dihedral parameters.

Constructor & Destructor Documentation

◆ Dihedral() [1/3]

Dihedral ( )
default

◆ Dihedral() [2/3]

Dihedral ( const Dihedral )
default

◆ Dihedral() [3/3]

Dihedral ( Dihedral &&  )
default

◆ ~ Dihedral()

~ Dihedral ( )
default

Member Function Documentation

◆ AddType()

void AddType ( const FFDihedral type)

Set the type of the dihedral.

Parameters
typethe type of dihedral to set.

◆ GetAtoms()

const DihedralAtoms& GetAtoms ( ) const

Get the atoms of the dihedral.

Returns
quad of the atoms of the dihedral.

◆ GetID()

int64_t GetID ( ) const

◆ GetIndex()

int64_t GetIndex ( ) const

Get the index from the molecule.

Calculates the index of the dihedral in the container of dihedrals of the molecule it is a part of. If the molecule is dead, the index returned is the tag of the dihedral.

Returns
the index of the dihedral.

◆ GetMolecule()

const Molecule& GetMolecule ( ) const

Molecule this dihedral is associated with.

The returned shared_ptr is empty if the dihedral is not assigned to a valid molecule.

Returns
the molecule associated with this dihedral.

◆ GetPriority()

int32_t GetPriority ( ) const

◆ GetTag()

int64_t GetTag ( ) const

Tag of the dihedral.

This value may be modified without warning. Use with caution. For a constant identifier to the dihedral, use IXDihedral::GetUniqueID().

Returns
the tag assigned to the dihedral.

◆ GetTypes()

const DihedralTypes& GetTypes ( ) const

◆ HasType()

bool HasType ( ) const

◆ NumAtoms()

constexpr int64_t NumAtoms ( ) const
inline

Number of atoms this dihedral contains.

Returns
4.

◆ NumTypes()

int64_t NumTypes ( ) const

Get the type of the dihedral.

Returns
the type of the dihedral.

◆ operator bool()

operator bool ( ) const
inline

◆ operator!=()

bool operator!= ( const Dihedral dhd) const
inline

◆ operator<()

bool operator< ( const Dihedral dhd) const

◆ operator<=()

bool operator<= ( const Dihedral dhd) const
inline

◆ operator=() [1/2]

Dihedral& operator= ( const Dihedral )
default

◆ operator=() [2/2]

Dihedral& operator= ( Dihedral &&  )
default

◆ operator==()

bool operator== ( const Dihedral dhd) const

◆ operator>()

bool operator> ( const Dihedral dhd) const

◆ operator>=()

bool operator>= ( const Dihedral dhd) const
inline

◆ RemoveType()

void RemoveType ( const FFDihedral type)

◆ SetTag()

void SetTag ( int64_t  tag)

Set the tag of this dihedral.

The tag of a dihedral should not be considered stable. Use with caution.

Parameters
tagthe tag to set.

◆ SetTypes()

void SetTypes ( const DihedralTypes types)

Friends And Related Function Documentation

◆ cereal::access

friend class cereal::access
friend

Friendship allows serialisation.

◆ indigox::Molecule

friend class indigox::Molecule
friend

Friendship allows Molecule to create new dihedrals.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Dihedral dhd 
)
friend

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