class OEHermiteOptions

This is an option class for the OEHermite class. It allows the user to input the level of Hermite expansion (NPolyMax), the parameters \(\lambda_x, \lambda_y, \lambda_z\) and whether or not the latter need to be optimized inside the OEHermite class.


OEHermiteOptions(const OEHermiteOptions &)

This class has a default constructor and a copy constructor. The default constructor assumes the following parameters NPolyMax = 4, \(\,\lambda_{x,y,z} = 1.0\,\), UseOptimalLambdas = True. The copy constructor as expected copies the option class into the new class.


OEHermiteOptions &operator=(const OEHermiteOptions &)

The assignment operator allows for copying an option class into another option class using the equal sign.


double GetLambdaX() const

Returns the value of \(\lambda_x\) parameter.


double GetLambdaY() const

Returns the value of \(\lambda_y\) parameter.


double GetLambdaZ() const

Returns the value of \(\lambda_z\) parameter.


unsigned int GetNPolyMax() const

Returns the value of NPolyMax parameter, which controls the level of Hermite expansion. In particular the lowest value 0 corresponds to a very inaccurate expansion, approximating the entire molecule by a single Gaussian, while the largest currently allowed value is equal to 30, which corresponds to a list of 5456 Hermite coefficients \(\,f_{l,m,n}\). In the limit NPolyMax \(\rightarrow \infty\) we obtain exact equivalence of the Hermite expansion to the Gaussian representation of the molecule.


bool GetUseOptimalLambdas() const

This method returns the value of the parameter UseOptimalLambdas. When this parameter is True, inside the Setup method, when it is passed a molecule an optimization of \(\,\lambda_{x,y,z}\,\) parameters will be performed via maximizing the self-overlap of the molecule at a given resolution of the Hermite expansion. Please note, that even in the case when UseOptimalLambdas is set to False, if the value of NPolyMax is high enough the Hermite expansion will converge to the Gaussian shape. However in practice at a given low resolution of Hermite expansion it is essential to use the optimal \(\,\lambda_{x,y,z}\,\) parameters for faster convergence.

Alternatively when UseOptimalLambdas is False, the current values of the \(\,\lambda_{x,y,z}\,\) parameters will be used inside the Setup method, without optimization.


void SetLambdaX(double)

Sets the value of \(\lambda_x\) parameter. Default value is 1.0.


void SetLambdaY(double)

Sets the value of \(\lambda_y\) parameter. Default value is 1.0.


void SetLambdaZ(double)

Sets the value of \(\lambda_z\) parameter. Default value is 1.0.


void SetNPolyMax(unsigned int)

Sets the value of NPolyMax parameter. Default value is 4.


void SetUseOptimalLambdas(bool)

Sets the value of UseOptimalLambdas parameter. Default value is True.