mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX > Class Template Reference
Collaboration diagram for mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >:

Documentation

template<typename T, MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
class mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >

Spherical multipole moments.

Public Types

using base_type = boost::container::small_vector< T, number_of_multipoles(LMAX)>
 
using mm_type = MultipoleMomentsType
 

Public Member Functions

constexpr MultipoleMoments ()
 
constexpr MultipoleMoments (unsigned int lmax)
 
constexpr MultipoleMoments (mm_type type)
 
constexpr MultipoleMoments (unsigned int lmax, mm_type type)
 
constexpr unsigned int lmax () const
 
template<typename Int1 , typename Int2 >
T & operator() (Int1 l, Int2 m)
 
template<typename Int1 , typename Int2 >
const T & operator() (Int1 l, Int2 m) const
 
MultipoleMomentstype (mm_type t)
 
constexpr mm_type type () const
 
template<MultipoleMomentsType NewType>
constexpr MultipoleMoments< T, NewType, LMAX > to_type () const
 
template<typename _T , MultipoleMomentsType _Type, int _LMAX>
constexpr void operator+= (const MultipoleMoments< _T, _Type, _LMAX > &other)
 
template<typename _T , MultipoleMomentsType _Type, int _LMAX>
constexpr void operator-= (const MultipoleMoments< _T, _Type, _LMAX > &other)
 
template<typename _T >
constexpr void operator*= (_T &&scalar)
 
template<typename Archive >
void serialize (Archive &ar)
 

Static Public Member Functions

template<typename Int1 , typename Int2 >
static std::size_t ordinal (Int1 l, Int2 m)
 

Member Typedef Documentation

◆ base_type

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
using mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::base_type = boost::container::small_vector<T, number_of_multipoles(LMAX)>

◆ mm_type

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
using mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::mm_type = MultipoleMomentsType

Constructor & Destructor Documentation

◆ MultipoleMoments() [1/4]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::MultipoleMoments ( )
inlineconstexpr

◆ MultipoleMoments() [2/4]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::MultipoleMoments ( unsigned int  lmax)
inlineconstexpr

◆ MultipoleMoments() [3/4]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::MultipoleMoments ( mm_type  type)
inlineconstexpr

◆ MultipoleMoments() [4/4]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::MultipoleMoments ( unsigned int  lmax,
mm_type  type 
)
inlineconstexpr

Member Function Documentation

◆ lmax()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr unsigned int mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::lmax ( ) const
inlineconstexpr
Returns
lmax

◆ operator()() [1/2]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename Int1 , typename Int2 >
T& mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::operator() ( Int1  l,
Int2  m 
)
inline

◆ operator()() [2/2]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename Int1 , typename Int2 >
const T& mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::operator() ( Int1  l,
Int2  m 
) const
inline

◆ operator*=()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename _T >
constexpr void mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::operator*= ( _T &&  scalar)
inlineconstexpr

◆ operator+=()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename _T , MultipoleMomentsType _Type, int _LMAX>
constexpr void mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::operator+= ( const MultipoleMoments< _T, _Type, _LMAX > &  other)
inlineconstexpr

◆ operator-=()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename _T , MultipoleMomentsType _Type, int _LMAX>
constexpr void mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::operator-= ( const MultipoleMoments< _T, _Type, _LMAX > &  other)
inlineconstexpr

◆ ordinal()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename Int1 , typename Int2 >
static std::size_t mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::ordinal ( Int1  l,
Int2  m 
)
inlinestatic

◆ serialize()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<typename Archive >
void mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::serialize ( Archive &  ar)
inline

◆ to_type()

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
template<MultipoleMomentsType NewType>
constexpr MultipoleMoments<T, NewType, LMAX> mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::to_type ( ) const
inlineconstexpr

makes a copy of this with type converted to t

Parameters
[in]ta Type value
Returns
copy of this object with type assigned to t

◆ type() [1/2]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
constexpr mm_type mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::type ( ) const
inlineconstexpr

◆ type() [2/2]

template<typename T , MultipoleMomentsType Type = MultipoleMomentsType::undefined, int LMAX = -1>
MultipoleMoments& mpqc::pbc::ma::MultipoleMoments< T, Type, LMAX >::type ( mm_type  t)
inline

assigns type to t , or converts to type t if already has a defined type

Parameters
[in]ta Type value
Returns
reference to this object

The documentation for this class was generated from the following file:
  • mpqc/chemistry/qc/lcao/scf/pbc/ma.h