4 #ifndef CPPQEDCORE_STRUCTURE_ELEMENTAVERAGED_H_INCLUDED
5 #define CPPQEDCORE_STRUCTURE_ELEMENTAVERAGED_H_INCLUDED
7 #include "ElementAveragedFwd.h"
35 template<
int RANK,
bool IS_TIME_DEPENDENT>
47 template<
typename... KeyLabelsPack>
48 ElementAveraged(
const std::string& keyTitle, KeyLabelsPack&&... keyLabelsPack) : Base(keyTitle,keyLabelsPack...) {}
50 ElementAveraged(
const std::string& keyTitle,
typename Base::KeyLabelsInitializer il) : Base(keyTitle,il) {}
53 const Averages initializedAverages()
const {Averages res(this->
nAvr()); res=0.;
return res;}
56 virtual std::ostream& display_v(
const Averages& a, std::ostream& os,
int precision)
const final {
return details::displayCommon(a,os,precision);}
63 template<
int RANK,
bool IS_TIME_DEPENDENT>
70 template<
typename... KeyLabelsPack>
71 ClonableElementAveraged(
const std::string& keyTitle, KeyLabelsPack&&... keyLabelsPack) : Base(keyTitle,keyLabelsPack...) {}
73 ClonableElementAveraged(
const std::string& keyTitle,
typename Base::KeyLabelsInitializer il) : Base(keyTitle,il) {}
76 typedef ClonableElementAveraged*
ClonedPtr;
78 const ClonedPtr clone()
const {
return do_clone();}
81 virtual const ClonedPtr do_clone()
const = 0;
86 template<
int RANK,
bool IS_TIME_DEPENDENT>
96 #endif // CPPQEDCORE_STRUCTURE_ELEMENTAVERAGED_H_INCLUDED
Besides being an ElementAveraged, it models the Clonable concept
Comprises modules for describing quantum systems.
size_t nAvr(const SSF &free0, const SSF &free1, const SSI &ia)
Outfactored common functionality of Liouvillean and Averaged.
Implements LiouvilleanAveragedCommon::displayKey and LiouvilleanAveragedCommon::nAvr with the help of...
An implementation of Averaged for the case when the number of quantum arevages is known @ compile tim...
ElementAveraged(const std::string &keyTitle, KeyLabelsPack &&...keyLabelsPack)
The number of KeyLabel arguments in the constructors determines the number of calculated averages...
ElementAveraged(const std::string &keyTitle, typename Base::KeyLabelsInitializer il)
”
Defines class of the same name.
Defines class of the same name.
LiouvilleanAveragedCommon::DArray1D Averages
The 1D real array storing the calculated quantum averages (perhaps in real-imaginary pairs if a given...