---
name: "sc_IntegrationWeight"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_IntegrationWeight"
---

# sc\_IntegrationWeight(3)

An abstract base class for computing grid weights.

## NAME

sc::IntegrationWeight - An abstract base class for computing grid weights.

## SYNOPSIS

`#include <integrator.h>`

Inherits **sc::SavableState**.

Inherited by **sc::BeckeIntegrationWeight**.

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

### Additional Inherited Members

## Detailed Description

An abstract base class for computing grid weights.

## Member Function Documentation

### virtual void sc::IntegrationWeight::done ()` [virtual]`

Called when finished with the integration weight object.

Reimplemented in **sc::BeckeIntegrationWeight**.

### virtual void sc::IntegrationWeight::init (const Ref\< Molecule \> &, double tolerance)` [virtual]`

Initialize the integration weight object.

Reimplemented in **sc::BeckeIntegrationWeight**.

### 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**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
