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

# sc\_IntegralCCA(3)

IntegralCCA provides an SC client for CCA IntegralEvaluator components.

## NAME

sc::IntegralCCA - **IntegralCCA** provides an SC client for CCA IntegralEvaluator components.

## SYNOPSIS

`#include <intcca.h>`

Inherits **sc::Integral**.

### Public Member Functions

**IntegralCCA** (IntegralEvaluatorFactory eval\_factory, bool use\_opaque, const **Ref**\< **GaussianBasisSet** \> &b1=0, const **Ref**\< **GaussianBasisSet** \> &b2=0, const **Ref**\< **GaussianBasisSet** \> &b3=0, const **Ref**\< **GaussianBasisSet** \> &b4=0)\
 This constructor is used when the framework is not embedded.  **IntegralCCA** (**StateIn** &)\
 **IntegralCCA** (const **Ref**\< **KeyVal** \> &)\
 The **KeyVal** constructor.  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.  **Integral** \* **clone** ()\
 Clones the given **Integral** factory. The new factory may need to have set\_basis and set\_storage to be called on it.  **CartesianIter** \* **new\_cartesian\_iter** (int)\
 Return a **CartesianIter** object.  **RedundantCartesianIter** \* **new\_redundant\_cartesian\_iter** (int)\
 Return a **RedundantCartesianIter** object.  **RedundantCartesianSubIter** \* **new\_redundant\_cartesian\_sub\_iter** (int)\
 Return a **RedundantCartesianSubIter** object.  **SphericalTransformIter** \* **new\_spherical\_transform\_iter** (int l, int inv=0, int subl=-1)\
 Return a **SphericalTransformIter** object.  const **SphericalTransform** \* **spherical\_transform** (int l, int inv=0, int subl=-1)\
 Return a **SphericalTransform** object.  **Ref**\< **OneBodyInt** \> **overlap** ()\
 Return a **OneBodyInt** that computes the overlap.  **Ref**\< **OneBodyInt** \> **kinetic** ()\
 Return a **OneBodyInt** that computes the kinetic energy.  **Ref**\< **OneBodyInt** \> **point\_charge** (const **Ref**\< **PointChargeData** \> &=0)\
 Return a **OneBodyInt** that computes the integrals for interactions with point charges.  **Ref**\< **OneBodyInt** \> **nuclear** ()\
 Return a **OneBodyInt** that computes the nuclear repulsion integrals.  **Ref**\< **OneBodyInt** \> **hcore** ()\
 Return a **OneBodyInt** that computes the core Hamiltonian integrals.  **Ref**\< **OneBodyInt** \> **efield\_dot\_vector** (const **Ref**\< **EfieldDotVectorData** \> &=0)\
 Return a **OneBodyInt** that computes the electric field integrals dotted with a given vector.  **Ref**\< **OneBodyInt** \> **dipole** (const **Ref**\< **DipoleData** \> &=0)\
 Return a **OneBodyInt** that computes electric dipole moment integrals.  **Ref**\< **OneBodyInt** \> **quadrupole** (const **Ref**\< **DipoleData** \> &=0)\
 Return a **OneBodyInt** that computes electric quadrupole moment integrals.  **Ref**\< **OneBodyDerivInt** \> **overlap\_deriv** ()\
 Return a **OneBodyDerivInt** that computes overlap derivatives.  **Ref**\< **OneBodyDerivInt** \> **kinetic\_deriv** ()\
 Return a **OneBodyDerivInt** that computes kinetic energy derivatives.  **Ref**\< **OneBodyDerivInt** \> **nuclear\_deriv** ()\
 Return a **OneBodyDerivInt** that computes nuclear repulsion derivatives.  **Ref**\< **OneBodyDerivInt** \> **hcore\_deriv** ()\
 Return a **OneBodyDerivInt** that computes core Hamiltonian derivatives.  **Ref**\< **TwoBodyInt** \> **electron\_repulsion** ()\
 Return a **TwoBodyInt** that computes electron repulsion integrals.  **Ref**\< **TwoBodyDerivInt** \> **electron\_repulsion\_deriv** ()\
 Return a **TwoBodyDerivInt** that computes electron repulsion derivatives.  void **set\_basis** (const **Ref**\< **GaussianBasisSet** \> &b1, const **Ref**\< **GaussianBasisSet** \> &b2=0, const **Ref**\< **GaussianBasisSet** \> &b3=0, const **Ref**\< **GaussianBasisSet** \> &b4=0)\
 Set the basis set for each center.

### Additional Inherited Members

## Detailed Description

**IntegralCCA** provides an SC client for CCA IntegralEvaluator components.

## Constructor & Destructor Documentation

### sc::IntegralCCA::IntegralCCA (const Ref\< KeyVal \> &)

The **KeyVal** constructor. This constructor is used when the framework is embedded. The following keywords are read:

- `evaluator_factory`

  This gives the symbol name of a CCA IntegralEvaluatorFactory component. This symbol name should also appear in the cca-load argument. The default is `MPQC.IntegralEvaluatorFactory`.

- `integral_package`

  If the default `MPQC.IntegralEvaluatorFactory` is used, then this option may be used to specify the integrals package to use (`intv3` or `cints`). The default is `intv3`.

- `molecule`

  This gives a molecule object, it is required.

## Member Function Documentation

### Integral \* sc::IntegralCCA::clone ()` [virtual]`

Clones the given **Integral** factory. The new factory may need to have set\_basis and set\_storage to be called on it.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::dipole (const Ref\< DipoleData \> & = `0`)` [virtual]`

Return a **OneBodyInt** that computes electric dipole moment integrals. The canonical order of integrals in a set is x, y, z.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::efield\_dot\_vector (const Ref\< EfieldDotVectorData \> & = `0`)` [virtual]`

Return a **OneBodyInt** that computes the electric field integrals dotted with a given vector.

Implements **sc::Integral**.

### Ref\< TwoBodyInt \> sc::IntegralCCA::electron\_repulsion ()` [virtual]`

Return a **TwoBodyInt** that computes electron repulsion integrals.

Implements **sc::Integral**.

### Ref\< TwoBodyDerivInt \> sc::IntegralCCA::electron\_repulsion\_deriv ()` [virtual]`

Return a **TwoBodyDerivInt** that computes electron repulsion derivatives.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::hcore ()` [virtual]`

Return a **OneBodyInt** that computes the core Hamiltonian integrals.

Implements **sc::Integral**.

### Ref\< OneBodyDerivInt \> sc::IntegralCCA::hcore\_deriv ()` [virtual]`

Return a **OneBodyDerivInt** that computes core Hamiltonian derivatives.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::kinetic ()` [virtual]`

Return a **OneBodyInt** that computes the kinetic energy.

Implements **sc::Integral**.

### Ref\< OneBodyDerivInt \> sc::IntegralCCA::kinetic\_deriv ()` [virtual]`

Return a **OneBodyDerivInt** that computes kinetic energy derivatives.

Implements **sc::Integral**.

### CartesianIter \* sc::IntegralCCA::new\_cartesian\_iter (int)` [virtual]`

Return a **CartesianIter** object. The caller is responsible for freeing the object.

Implements **sc::Integral**.

### RedundantCartesianIter \* sc::IntegralCCA::new\_redundant\_cartesian\_iter (int)` [virtual]`

Return a **RedundantCartesianIter** object. The caller is responsible for freeing the object.

Implements **sc::Integral**.

### RedundantCartesianSubIter \* sc::IntegralCCA::new\_redundant\_cartesian\_sub\_iter (int)` [virtual]`

Return a **RedundantCartesianSubIter** object. The caller is responsible for freeing the object.

Implements **sc::Integral**.

### SphericalTransformIter \* sc::IntegralCCA::new\_spherical\_transform\_iter (int l, int inv = `0`, int subl = `-1`)` [virtual]`

Return a **SphericalTransformIter** object. The caller is responsible for freeing the object.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::nuclear ()` [virtual]`

Return a **OneBodyInt** that computes the nuclear repulsion integrals. Charges from the atoms on center one are used. If center two is not identical to center one, then the charges on center two are included as well. \

Implements **sc::Integral**.

### Ref\< OneBodyDerivInt \> sc::IntegralCCA::nuclear\_deriv ()` [virtual]`

Return a **OneBodyDerivInt** that computes nuclear repulsion derivatives.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::overlap ()` [virtual]`

Return a **OneBodyInt** that computes the overlap.

Implements **sc::Integral**.

### Ref\< OneBodyDerivInt \> sc::IntegralCCA::overlap\_deriv ()` [virtual]`

Return a **OneBodyDerivInt** that computes overlap derivatives.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::point\_charge (const Ref\< PointChargeData \> & = `0`)` [virtual]`

Return a **OneBodyInt** that computes the integrals for interactions with point charges.

Implements **sc::Integral**.

### Ref\< OneBodyInt \> sc::IntegralCCA::quadrupole (const Ref\< DipoleData \> & = `0`)` [virtual]`

Return a **OneBodyInt** that computes electric quadrupole moment integrals. The canonical order of integrals in a set is x^2, xy, xz, y^2, yz, z^2.

Implements **sc::Integral**.

### void sc::IntegralCCA::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::Integral**.

### void sc::IntegralCCA::set\_basis (const Ref\< GaussianBasisSet \> & b1, const Ref\< GaussianBasisSet \> & b2 = `0`, const Ref\< GaussianBasisSet \> & b3 = `0`, const Ref\< GaussianBasisSet \> & b4 = `0`)` [virtual]`

Set the basis set for each center.

Reimplemented from **sc::Integral**.

### const SphericalTransform \* sc::IntegralCCA::spherical\_transform (int l, int inv = `0`, int subl = `-1`)` [virtual]`

Return a **SphericalTransform** object. The pointer is only valid while this **Integral** object is valid.

Implements **sc::Integral**.

## Author

Generated automatically by Doxygen for MPQC from the source code.
