MPQC  3.0.0-alpha
sc::OneBodyInt Class Referenceabstract

OneBodyInt is an abstract base class for objects that compute integrals between two basis functions. More...

#include <chemistry/qc/basis/obint.h>

Inheritance diagram for sc::OneBodyInt:
sc::RefCount sc::DipoleIntV3 sc::EfieldDotVectorIntV3 sc::EfieldIntV3 sc::OneBodyIntLibint2 sc::OneBodyIntV3 sc::PointChargeIntV3

Public Member Functions

int nbasis () const
 Returns the number of basis functions on center one.
 
int nbasis1 () const
 Returns the number of basis functions on the center one.
 
int nbasis2 () const
 Returns the number of basis functions on the center two.
 
int nshell () const
 Return the number of shells on center one.
 
int nshell1 () const
 Return the number of shells on the center one.
 
int nshell2 () const
 Return the number of shells on the center two.
 
Ref< GaussianBasisSetbasis (size_t c) const
 Return the basis set on center one. More...
 
Ref< GaussianBasisSetbasis1 () const
 Return the basis set on the center one.
 
Ref< GaussianBasisSetbasis2 () const
 Return the basis set on the center two.
 
const double * buffer () const
 Returns the buffer where the integrals are placed.
 
virtual void compute_shell (int, int)=0
 Computes the integrals between basis functions in the given shell pair.
 
std::pair< const double *, std::array< unsigned long, 2 > > compute_shell_array (int, int)
 Computes the integrals between basis functions in the given shell pair. More...
 
virtual void reinitialize ()
 This is called for one body integrals that take data to let them know that the data they reference has changed.
 
virtual bool cloneable () const
 Return true if the clone member can be called. More...
 
virtual Ref< OneBodyIntclone ()
 Returns a clone of this. More...
 
Integralintegral () const
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 
void unmanage ()
 Turn off the reference counting mechanism for this object. More...
 

Protected Member Functions

 OneBodyInt (Integral *integral, const Ref< GaussianBasisSet > &b1, const Ref< GaussianBasisSet > &b2=0)
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Protected Attributes

Integralintegral_
 
Ref< GaussianBasisSetbs1_
 
Ref< GaussianBasisSetbs2_
 
double * buffer_
 

Detailed Description

OneBodyInt is an abstract base class for objects that compute integrals between two basis functions.

Member Function Documentation

◆ basis()

Ref<GaussianBasisSet> sc::OneBodyInt::basis ( size_t  c) const

Return the basis set on center one.

Parameters
[in]ccenter index, in [0,1]; default = 0 (first center)
Returns
(pointer to) the basis set object on center c

◆ clone()

virtual Ref<OneBodyInt> sc::OneBodyInt::clone ( )
virtual

Returns a clone of this.

The default implementation throws an exception.

Reimplemented in sc::OneBodyIntLibint2, and sc::OneBodyIntV3.

◆ cloneable()

virtual bool sc::OneBodyInt::cloneable ( ) const
virtual

Return true if the clone member can be called.

The default implementation returns false.

Reimplemented in sc::OneBodyIntLibint2, and sc::OneBodyIntV3.

◆ compute_shell_array()

std::pair<const double *, std::array<unsigned long, 2> > sc::OneBodyInt::compute_shell_array ( int  ,
int   
)

Computes the integrals between basis functions in the given shell pair.

This is used in the python interface where the return type is automatically converted to a numpy array.


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

Generated at Sun Jan 26 2020 23:24:08 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.