STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::chemistry::IndigoAtomCenter Class Reference

Enumerate the possible combinations of formal charge state and the orders of bonds relevant to a particular atom. Also list the other atoms linked by those bonds. More...

#include <indigo.h>

Public Member Functions

 IndigoAtomCenter (int table_index_in, int z_number_in, int bond_count_in, int valence_electrons_in, const std::vector< int > &relevant_bonds_in, const std::vector< int > &partner_atoms_in, const std::vector< int > &atom_scores, const std::vector< int > &bond_scores)
 The constructor takes the parent IndigoTable's lists of atoms and bonds.
 
int getIndigoTableIndex () const
 Let it be known which atom this center pertains to.
 
int getStateCount () const
 Return the number of states this atomc center can take on.
 
uint getState (int state_index) const
 Return the bitmask describing a particular state of this atom center.
 
int getCharge (int state_index) const
 Get the charge of an atom center in a particular state.
 
int getAtomicNumber () const
 Get the atomic number of the atom.
 
int getScore (int state_index) const
 Return the score associated with a particular state of this atom center.
 
void sortStates ()
 Sort the states to put the lowest energy (lowest scoring) state first.
 
int getPartnerCount () const
 Get the number of partners in this atom center.
 
int getRelevantBond (int index) const
 Get the index of the relevant bond connecting this atom to the partner of the same index. The index is produced into the original topology.
 
int getPartner (int index) const
 Get one of the partners for a specific atom center. Return the atom center index of the partner in the overarching IndigoTable.
 
int findPartnerIndex (int partner_atom_number) const
 Find a partner atom within the local list of this atom center. Return the index of the partner atom in the local list (also corresponds to the index of the bond that this atom will use to connect to that partner atom).
 
int getBondOrderOfState (int bond_index, int state_index) const
 Get the order of a bond made by this atom center to a specified partner when the atom center lies in a particular state.
 
bool queryBondToPartner (int partner_atom_number, int partner_bo) const
 Determine whether an atom center makes a bond of a certain order to a specific partner.
 
int cullByPartners (const std::vector< IndigoAtomCenter > &acen)
 Cull states from a particular atom center if its partners cannot reciprocate with the correct bond order. Return the number of states culled.
 

Detailed Description

Enumerate the possible combinations of formal charge state and the orders of bonds relevant to a particular atom. Also list the other atoms linked by those bonds.

Member Function Documentation

◆ cullByPartners()

int stormm::chemistry::IndigoAtomCenter::cullByPartners ( const std::vector< IndigoAtomCenter > & acen)

Cull states from a particular atom center if its partners cannot reciprocate with the correct bond order. Return the number of states culled.

Parameters
acenArray of all atom centers from the overarching IndigoTable (this array contains the atom center that is currently being operated on, but is passed as read-only)

◆ getBondOrderOfState()

int stormm::chemistry::IndigoAtomCenter::getBondOrderOfState ( int bond_index,
int state_index ) const

Get the order of a bond made by this atom center to a specified partner when the atom center lies in a particular state.

Parameters
bond_indexIndex of the bond in question, in the local list kept by this atom center This also indicates the local index of the partner of interest.
state_indexIndex of the state of the atom center to query. Bond orders can change depending on different states of the atom center.

◆ getCharge()

int stormm::chemistry::IndigoAtomCenter::getCharge ( int state_index) const

Get the charge of an atom center in a particular state.

Parameters
state_indexIndex of the state in question

◆ getPartner()

int stormm::chemistry::IndigoAtomCenter::getPartner ( int index) const

Get one of the partners for a specific atom center. Return the atom center index of the partner in the overarching IndigoTable.

Parameters
indexIndex of the specific partner within the center's local list

◆ getRelevantBond()

int stormm::chemistry::IndigoAtomCenter::getRelevantBond ( int index) const

Get the index of the relevant bond connecting this atom to the partner of the same index. The index is produced into the original topology.

Parameters
indexIndex of the atom center's partner, to which the bond of interest connects

◆ getScore()

int stormm::chemistry::IndigoAtomCenter::getScore ( int state_index) const

Return the score associated with a particular state of this atom center.

Parameters
state_indexIndex of the state in question

◆ getState()

uint stormm::chemistry::IndigoAtomCenter::getState ( int state_index) const

Return the bitmask describing a particular state of this atom center.

Parameters
state_indexIndex of the state in question

◆ queryBondToPartner()

bool stormm::chemistry::IndigoAtomCenter::queryBondToPartner ( int partner_atom_number,
int partner_bo ) const

Determine whether an atom center makes a bond of a certain order to a specific partner.

Parameters
partner_indexThe index of the partner atom center in the overarching IndigoTable
partner_boThe bond order that must be found in some state

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