LIBINT
2.6.0
|
Represents quantum numbers of cartesian multipole operator. More...
#include <multipole.h>
Public Member Functions | |
CartesianMultipoleQuanta (const CartesianMultipoleQuanta &other) | |
CartesianMultipoleQuanta & | operator= (const CartesianMultipoleQuanta &other) |
CartesianMultipoleQuanta & | operator+= (const CartesianMultipoleQuanta &other) |
CartesianMultipoleQuanta & | operator-= (const CartesianMultipoleQuanta &other) |
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 sum of 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 | |
const static constexpr unsigned | max_qn = LIBINT_CARTGAUSS_MAX_AM |
static const unsigned | max_key = NDIM == 3 ? (1 + max_qn)*(2 + max_qn)*(3 + max_qn)/6 : (1+max_qn) |
The range of keys is [0,max_key). More... | |
Protected Member Functions | |
void | invalidate () |
make this object invalid | |
Additional Inherited Members | |
![]() | |
typedef KeyTraits< LIBINT2_UINT_LEAST64 >::ReturnType | KeyReturnType |
![]() | |
KeyStore< LIBINT2_UINT_LEAST64, OwnKey< KeyMP >::result > | key_ |
Represents quantum numbers of cartesian multipole operator.
|
static |
The range of keys is [0,max_key).
max_qn
Referenced by libint2::CartesianMultipoleQuanta< NDIM >::key().