Class Scine::Utils::AtomicSecondDerivativeCollection

class AtomicSecondDerivativeCollection

Container class for second derivatives.

Mainly an override of std::vector<SecondDerivative>. Generally used for storing the gradients of a molecular structure.

Public Functions

AtomicSecondDerivativeCollection(int N = 0, SecondDerivative d = SecondDerivative())

Constructor for this container class.

void clear()

Clearing the vector that holds the Second3D objects.

void resize(int n)

Wrapper around standard resizing function for vector that holds the Second3D objects.

void push_back(const SecondDerivative &d)

Wrapper around push back function for vector of Second3D objects.

void push_back(SecondDerivative &&d)

Wrapper around push back function for vector of Second3D objects.

This time the Second3d object is given as an rvalue reference.

bool empty() const

Returns true if the vector that holds the Second3D objects is empty.

int size() const

Returns the size of the vector holding the Second3D objects (dimension of the container).

const AtomicSecondDerivativeCollection &operator*=(double f)

Multiplication assignment operator (for example for unit conversion).

const AtomicSecondDerivativeCollection &operator/=(double f)

Division assignment operator (for example for unit conversion).

const AtomicSecondDerivativeCollection &operator+=(const AtomicSecondDerivativeCollection &dc)

Add another AtomicSecondDerivativeCollection.

AtomicSecondDerivativeCollection operator*(double f) const

Multiplication operator (for example for unit conversion).

AtomicSecondDerivativeCollection operator/(double f) const

Division operator (for example for unit conversion).

void setZero()

Reset all the derivatives to zero.