IGMPlot 3.16
Optimized IGMplot version able to use wfn/wfx/xyz files
Loading...
Searching...
No Matches
ProgData Class Reference

Class designed to store the program's main dataprovide some utilities concerning those. More...

#include <ProgData.h>

Collaboration diagram for ProgData:
Collaboration graph

Public Member Functions

 ProgData (int nbAtomMolAParam, int nbAtomMolBParam, int nbTotalAtomParam, int numLigandParam, std::vector< std::pair< unsigned int, unsigned int > > &chosenBondsParam)
 Constructor.
 
 ~ProgData ()
 Destructor.
 
void addAtom (int type, double posx, double posy, double posz, bool setLIGAND=false, bool WFNmode=false, bool HirshMode=false)
 Adds an atom with the given properties to the atom's array.
 
void validate (double *increments, double ligandRadius, bool setLIGAND, bool QMmode)
 Ends the atom adding and update the coordinates before reporting whether the values are consistent.
 
void setCube (double *cubeParam)
 Sets the given cube has the reference cube to the problem.
 
void setRadius (double *radiusParam)
 Sets the given radius has the reference cube to the problem.
 
unsigned int getNbBond ()
 Gets the number of studied bonds.
 
int getNbAtom ()
 Gets the number of atom.
 
int getNbAtomMolA ()
 Gets the number of atom in molecule A.
 
int getNbAtomMolB ()
 Gets the number of atom in molecule B.
 
double getMaxCoord (int axis)
 Gets the max coordinate for the given axis.
 
double getMinCoord (int axis)
 Gets the min coordinate for the given axis.
 
int getNbSteps (int axis)
 Gets the number of steps for the given axis.
 
std::string getGridBoxDefinition ()
 Gets the way the box was deinied by user.
 
void setNbAtomMolA (int newValue)
 setter for nbAtomMolA variable
 
void setNbAtomMolB (int newValue)
 setter for nbAtomMolB variable
 
void setNbSteps (int nbStepsX, int nbStepsY, int nbStepsZ)
 Function to manually set the number of steps of each axis (IBSI case)
 
void storeBondLength (unsigned int ibond, double length)
 Function to manually store the length of a studied bond (IBSI case)
 
void storeBondVector (unsigned int ibond, double ABx, double ABy, double ABz)
 Function to manually store the vector components of the AB bond.
 
void setIBSI (unsigned int ibond, double newValue)
 Function to manually set the IBSI score of a studied bond (IBSI case)
 
void setBAF (unsigned int ibond, double newValue)
 Function to manually set the BDA score of a studied bond (IBSI case)
 
double getIBSI (int ibond)
 Function to manually get the IBSI score of a studied bond (IBSI case)
 
double getBAF (int ibond)
 Function to manually get the BDA score of a studied bond (IBSI case)
 

Data Fields

int * atomTypes
 arry of atom's type
 
positions_t atomPositions
 Each atom's position.
 
bond_tbonds
 array of studied bonds (QM treatment)
 

Private Attributes

int nbAtomMolA
 Number of atoms in molecule A.
 
int nbAtomMolB
 Number of atoms in molecule B.
 
int numLigand
 Number of the ligand ; if none : -1.
 
int nbAtom
 Number of atoms in both molecule (if two)
 
unsigned int nbBond
 Number of bonds studied (QM treatment)
 
double maxCoordinates [3]
 Max coordinates.
 
double minCoordinates [3]
 Min coordinates.
 
int nbSteps [3]
 Number of steps in loop for all three axis.
 
int cursor
 Used to iterate through the arrays.
 
bool boxSet
 Used to check whether CUBE option has been used.
 
bool radiusSet
 Used to check whether RADIUS option has been used.
 
int cnt
 TO DOCUMENT.
 

Detailed Description

Class designed to store the program's main dataprovide some utilities concerning those.

Warning
No copy constructor defined, careful when trying to pass this by value

Constructor & Destructor Documentation

◆ ProgData()

ProgData::ProgData ( int nbAtomMolAParam,
int nbAtomMolBParam,
int nbTotalAtomParam,
int numLigandParam,
std::vector< std::pair< unsigned int, unsigned int > > & chosenBondsParam )

Constructor.

Parameters
nbAtomMolAParam: the number of atoms in molecule A
nbAtomMolBParam: the number of atoms in molecule B
nbTotalAtomParam,the total number of atoms
numLigandParam: the molecule index corresponding to the ligand
chosenBondsParam: the studied bonds (only for QM treatment)

Member Function Documentation

◆ addAtom()

void ProgData::addAtom ( int type,
double posx,
double posy,
double posz,
bool setLIGAND = false,
bool WFNmode = false,
bool HirshMode = false )

Adds an atom with the given properties to the atom's array.

Parameters
typethe type of the atom
posxthe position of the atom on the x axis
posythe position of the atom on the y axis
poszthe position of the atom on the z axis
setLIGAND: input --> says if the user has supplied or not the index of the ligand within the two fragments
WFNmodeindicates if we are using WFN file (not by default)
HirshModeindicates if we are using the Hirshfeld partition (not by default)
Here is the caller graph for this function:

◆ getBAF()

double ProgData::getBAF ( int ibond)

Function to manually get the BDA score of a studied bond (IBSI case)

Parameters
ibondThe bond index

◆ getGridBoxDefinition()

std::string ProgData::getGridBoxDefinition ( )

Gets the way the box was deinied by user.

Returns
the grid Box definition

◆ getIBSI()

double ProgData::getIBSI ( int ibond)

Function to manually get the IBSI score of a studied bond (IBSI case)

Parameters
ibondThe bond index

◆ getMaxCoord()

double ProgData::getMaxCoord ( int axis)

Gets the max coordinate for the given axis.

Parameters
axisthe given axis
Returns
the max coordinate for the given axis

◆ getMinCoord()

double ProgData::getMinCoord ( int axis)

Gets the min coordinate for the given axis.

Parameters
axis: the given axis
Returns
the min coordinate for the given axis
Here is the caller graph for this function:

◆ getNbAtom()

int ProgData::getNbAtom ( )

Gets the number of atom.

Returns
the number of atom
Here is the caller graph for this function:

◆ getNbAtomMolA()

int ProgData::getNbAtomMolA ( )

Gets the number of atom in molecule A.

Returns
the number of atom in molecule A
Here is the caller graph for this function:

◆ getNbAtomMolB()

int ProgData::getNbAtomMolB ( )

Gets the number of atom in molecule B.

Returns
the number of atom in molecule B
Here is the caller graph for this function:

◆ getNbBond()

unsigned int ProgData::getNbBond ( )

Gets the number of studied bonds.

Returns
the number of studied bonds

◆ getNbSteps()

int ProgData::getNbSteps ( int axis)

Gets the number of steps for the given axis.

Parameters
axis: the given axis
Returns
the number of steps for the given axis
Here is the caller graph for this function:

◆ setBAF()

void ProgData::setBAF ( unsigned int ibond,
double newValue )

Function to manually set the BDA score of a studied bond (IBSI case)

Parameters
ibondThe bond index
newValueThe BDA score

◆ setCube()

void ProgData::setCube ( double * cubeParam)

Sets the given cube has the reference cube to the problem.

Parameters
cubeParamthe cube
Here is the caller graph for this function:

◆ setIBSI()

void ProgData::setIBSI ( unsigned int ibond,
double newValue )

Function to manually set the IBSI score of a studied bond (IBSI case)

Parameters
ibondThe bond index
newValueThe IBSI score

◆ setNbAtomMolA()

void ProgData::setNbAtomMolA ( int newValue)

setter for nbAtomMolA variable

Parameters
newValueThe new value for this variable

◆ setNbAtomMolB()

void ProgData::setNbAtomMolB ( int newValue)

setter for nbAtomMolB variable

Parameters
newValueThe new value for this variable

◆ setNbSteps()

void ProgData::setNbSteps ( int nbStepsX,
int nbStepsY,
int nbStepsZ )

Function to manually set the number of steps of each axis (IBSI case)

Parameters
nbStepsXThe number of steps for X axis
nbStepsYThe number of steps for Y axis
nbStepsZThe number of steps for Z axis
Here is the caller graph for this function:

◆ setRadius()

void ProgData::setRadius ( double * radiusParam)

Sets the given radius has the reference cube to the problem.

Parameters
radiusParam: the radius
Here is the caller graph for this function:

◆ storeBondLength()

void ProgData::storeBondLength ( unsigned int ibond,
double length )

Function to manually store the length of a studied bond (IBSI case)

Parameters
ibondThe bond index
lengthThe bond length

◆ storeBondVector()

void ProgData::storeBondVector ( unsigned int ibond,
double ABx,
double ABy,
double ABz )

Function to manually store the vector components of the AB bond.

Parameters
ibondindex for storing the vector components
ABxthe x component
ABythe y component
ABzthe z component

◆ validate()

void ProgData::validate ( double * increments,
double ligandRadius,
bool setLIGAND,
bool QMmode )

Ends the atom adding and update the coordinates before reporting whether the values are consistent.

Parameters
incrementsthe increments values
ligandRadiusthe radius around the ligand that has been provided
setLIGAND: input --> to tell if the index of the ligand has been supplied or not by user
QMmode: input --> to tell if the QUANTUM mode is enabled or not
Here is the call graph for this function:
Here is the caller graph for this function:

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