# sc::IntegrationWeight Class Reference

An abstract base class for computing grid weights. More...

`#include <integrator.h>`

Inheritance diagram for sc::IntegrationWeight:

List of all members.

## 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_

## Detailed Description

An abstract base class for computing grid weights.

## Member Function Documentation

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.

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

- integrator.h