LIBINT  2.6.0
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
libint2::OriginDerivative< NDIM > Class Template Reference

Represents cartesian derivatives of atom-centered basis functions. More...

#include <bfset.h>

Inheritance diagram for libint2::OriginDerivative< NDIM >:
Inheritance graph
[legend]
Collaboration diagram for libint2::OriginDerivative< NDIM >:
Collaboration graph
[legend]

Public Member Functions

 OriginDerivative (const OriginDerivative &other)
 
OriginDerivativeoperator= (const OriginDerivative &other)
 
OriginDerivativeoperator+= (const OriginDerivative &other)
 
OriginDerivativeoperator-= (const OriginDerivative &other)
 
unsigned int d (unsigned int xyz) const
 returns the number of quanta along xyz
 
unsigned int operator[] (unsigned int xyz) const
 returns the number of quanta along xyz
 
void inc (unsigned int xyz, unsigned int c=1u)
 Add c quanta along xyz.
 
void dec (unsigned int xyz, unsigned int c=1u)
 Subtract c quanta along xyz. If impossible, invalidate the object, but do not change its quanta!
 
unsigned int norm () const
 Returns the norm of the quantum numbers.
 
bool zero () const
 norm() == 0
 
bool valid () const
 Return false if this object is invalid.
 
LIBINT2_UINT_LEAST64 key () const
 Implements Hashable<unsigned>::key()
 
std::string label () const
 Return a compact label.
 
void print (std::ostream &os=std::cout) const
 Print out the content.
 

Static Public Attributes

static const unsigned max_deriv = 4
 
static const unsigned max_key = NDIM == 3 ? (1 + max_deriv)*(2 + max_deriv)*(3 + max_deriv)/6 : (1+max_deriv)
 The range of keys is [0,max_key). More...
 

Protected Member Functions

void invalidate ()
 make this object invalid
 

Additional Inherited Members

- Public Types inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ReferToKey >
typedef KeyTraits< LIBINT2_UINT_LEAST64 >::ReturnType KeyReturnType
 
- Protected Attributes inherited from libint2::Hashable< LIBINT2_UINT_LEAST64, ReferToKey >
KeyStore< LIBINT2_UINT_LEAST64, OwnKey< KeyMP >::result > key_
 

Detailed Description

template<unsigned NDIM = 3>
class libint2::OriginDerivative< NDIM >

Represents cartesian derivatives of atom-centered basis functions.

Member Data Documentation

◆ max_key

template<unsigned NDIM = 3>
const unsigned libint2::OriginDerivative< NDIM >::max_key = NDIM == 3 ? (1 + max_deriv)*(2 + max_deriv)*(3 + max_deriv)/6 : (1+max_deriv)
static

The range of keys is [0,max_key).

Note
for NDIM=3 the formula is easily derived by summing (L+1)(L+2)/2 up to max_deriv

Referenced by libint2::OriginDerivative< 3 >::key().


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