4 #ifndef CPPQEDCORE_STRUCTURE_DYNAMICSBASE_H_INCLUDED
5 #define CPPQEDCORE_STRUCTURE_DYNAMICSBASE_H_INCLUDED
7 #include "DynamicsBaseFwd.h"
11 #include <boost/shared_ptr.hpp>
12 #include <boost/utility.hpp>
50 typedef boost::shared_ptr<const DynamicsBase> Ptr;
52 typedef std::tuple<std::string,double,double>
RF;
53 typedef std::tuple<std::string,dcomp ,double>
CF;
58 typedef std::initializer_list<RF> RealFreqsInitializer;
59 typedef std::initializer_list<CF> ComplexFreqsInitializer;
61 static const RealFreqs emptyRF;
62 static const ComplexFreqs emptyCF;
64 explicit DynamicsBase(
const RealFreqs& =emptyRF,
const ComplexFreqs& =emptyCF);
69 explicit DynamicsBase(RF rf, CF cf=
CF()) :
DynamicsBase(RealFreqsInitializer{rf}, cf==
CF() ? ComplexFreqsInitializer{} : ComplexFreqsInitializer{cf}) {}
87 RealFreqs& getRealFreqs() {
return realFreqs_;}
88 ComplexFreqs& getComplexFreqs() {
return complexFreqs_;}
92 ComplexFreqs complexFreqs_;
94 std::ostringstream paramsStream_;
135 #endif // CPPQEDCORE_STRUCTURE_DYNAMICSBASE_H_INCLUDED
std::tuple< std::string, dcomp,double > CF
same for complex
std::list< CF > ComplexFreqs
same for complex
std::ostream & displayParameters(std::ostream &) const
Displays the content of the stored ostringstream followed by a call to displayMoreParameters.
Comprises modules for describing quantum systems.
Provides services for dealing with frequency-like parameters, both real and complex, for all elements, frees and interactions alike, which are hence all derived from this class.
Additional helpers for dcomp.
std::list< RF > RealFreqs
list of real frequency-like parameters
double highestFrequency() const
Calculates the fastest timescale of the system from the frequencies stored in the lists...
std::ostringstream & getParsStream()
The stored std::ostringstream object, for constructors of clients to write parameters on...
DynamicsBase(const RealFreqs &=emptyRF, const ComplexFreqs &=emptyCF)
Straightforward constructor.
std::tuple< std::string, double, double > RF
name-value-multiplier tuple for a real frequency-like parameter
DynamicsBase(RealFreqsInitializer rf, ComplexFreqsInitializer cf={})
Constructor with initializer lists.
virtual std::ostream & displayMoreParameters(std::ostream &) const
In its default implementation, displayes the frequency-like parameters of the system in a nice format...