#include <integrator.h>
Inheritance diagram for sc::IntegrationWeight:
Public Member Functions | |
IntegrationWeight (const Ref< KeyVal > &) | |
IntegrationWeight (StateIn &) | |
void | save_data_state (StateOut &) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. | |
void | test (int icenter, SCVector3 &point) |
void | test () |
virtual void | init (const Ref< Molecule > &, double tolerance) |
Initialize the integration weight object. | |
virtual void | done () |
Called when finished with the integration weight object. | |
virtual double | w (int center, SCVector3 &point, double *grad_w=0)=0 |
Computes the weight for a given center at a given point in space. | |
Protected Member Functions | |
void | fd_w (int icenter, SCVector3 &point, double *fd_grad_w) |
Protected Attributes | |
Ref< Molecule > | mol_ |
double | tol_ |
void sc::IntegrationWeight::save_data_state | ( | StateOut & | ) | [virtual] |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::SavableState.
Reimplemented in sc::BeckeIntegrationWeight.
virtual double sc::IntegrationWeight::w | ( | int | center, | |
SCVector3 & | point, | |||
double * | grad_w = 0 | |||
) | [pure virtual] |
Computes the weight for a given center at a given point in space.
Derivatives of the weigth with respect to nuclear coordinates are optionally returned in grad_w. This must be called after init, but before done. It must also be thread-safe.
Implemented in sc::BeckeIntegrationWeight.