C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
structure::Free Class Reference

In the language of the framework, a free system is a unary system (arity 1, RANK=1) More...

#include <Free.h>

+ Inheritance diagram for structure::Free:
+ Collaboration diagram for structure::Free:

Public Types

typedef boost::shared_ptr< const FreePtr
 
- Public Types inherited from structure::QuantumSystem< 1 >
typedef boost::shared_ptr< const QuantumSystemPtr
 Many of the basic template classes in the framework act as template metafunctions returning a shared pointer to their own type. More...
 
typedef Base::Dimensions Dimensions
 
- Public Types inherited from DimensionsBookkeeper< RANK >
typedef ExtTiny< RANK > Dimensions
 The dimensions as a static vector of size N_RANK.
 
- Public Types inherited from structure::DynamicsBase
typedef boost::shared_ptr< const DynamicsBasePtr
 
typedef std::tuple< std::string, double, double > RF
 name-value-multiplier tuple for a real frequency-like parameter
 
typedef std::tuple< std::string, dcomp,double > CF
 same for complex
 
typedef std::list< RFRealFreqs
 list of real frequency-like parameters
 
typedef std::list< CFComplexFreqs
 same for complex
 
typedef std::initializer_list< RFRealFreqsInitializer
 
typedef std::initializer_list< CFComplexFreqsInitializer
 

Public Member Functions

 Free (size_t dim, const RealFreqs &realFreqs=emptyRF, const ComplexFreqs &complexFreqs=emptyCF)
 A single dimension to initialise QuantumSystem<1> and the lists of real and complex name-frequency-multiplier tuples for DynamicsBase.
 
 Free (size_t dim, const ComplexFreqs &complexFreqs)
 
 Free (size_t dim, RealFreqsInitializer rf, ComplexFreqsInitializer cf={})
 
 Free (size_t dim, ComplexFreqsInitializer cf)
 
 Free (size_t dim, RF rf, CF cf=CF())
 
 Free (size_t dim, CF cf)
 
 Free (size_t dim, RealFreqsInitializer rf, CF cf)
 
 Free (size_t dim, RF rf, ComplexFreqsInitializer cf)
 
Implementating inherited virtuals
double highestFrequency () const
 Simply connects the pure virtual QuantumSystem::highestFrequency to the implementation DynamicsBase::highestFrequency. More...
 
std::ostream & displayParameters (std::ostream &os) const
 
 
- Public Member Functions inherited from structure::QuantumSystem< 1 >
 QuantumSystem (const Dimensions &dimensions)
 Construction from a set of Dimensions.
 
double highestFrequency () const
 The fastest timescale of the system for ODE stepping.
 
std::ostream & displayParameters (std::ostream &os) const
 Communicating system parameters towards the user.
 
- Public Member Functions inherited from DimensionsBookkeeper< RANK >
 DimensionsBookkeeper (mpl::bool_< IS_CONST >=mpl::false_())
 Constructor usable only in the IS_CONST=false case. More...
 
 DimensionsBookkeeper (const Dimensions &dimensions)
 Standard constructor usable also in the IS_CONST=true case.
 
const DimensionsgetDimensions () const
 Get the Dimensions vector.
 
size_t getTotalDimension () const
 Get the total dimension of a system of arbitrary arity.
 
size_t getDimension (mpl::int_< RANK >=mpl::int_< 1 >()) const
 Get the (single) dimension for a unary system.
 
size_t getDimension (size_t i) const
 
void setDimensions (const Dimensions &dimensions)
 This will work only in the non-const case.
 
- Public Member Functions inherited from structure::DynamicsBase
 DynamicsBase (const RealFreqs &=emptyRF, const ComplexFreqs &=emptyCF)
 Straightforward constructor.
 
 DynamicsBase (const ComplexFreqs &complexFreqs)
 
 DynamicsBase (RealFreqsInitializer rf, ComplexFreqsInitializer cf={})
 Constructor with initializer lists.
 
 DynamicsBase (ComplexFreqsInitializer cf)
 
 DynamicsBase (RF rf, CF cf=CF())
 
 DynamicsBase (CF cf)
 
 DynamicsBase (RealFreqsInitializer rf, CF cf)
 
 DynamicsBase (RF rf, ComplexFreqsInitializer cf)
 
double highestFrequency () const
 Calculates the fastest timescale of the system from the frequencies stored in the lists.
 
std::ostream & displayParameters (std::ostream &) const
 Displays the content of the stored ostringstream followed by a call to displayMoreParameters.
 

Additional Inherited Members

- Static Public Attributes inherited from DimensionsBookkeeper< RANK >
static const int N_RANK
 Arity of the Hilbert space.
 
static const int DIMESIONS_BOOKKEEPER_RANK
 Ditto (to break ambiguity if a class is derived from another base featuring N_RANK).
 
- Static Public Attributes inherited from structure::DynamicsBase
static const RealFreqs emptyRF
 
static const ComplexFreqs emptyCF
 
- Protected Member Functions inherited from structure::DynamicsBase
std::ostringstream & getParsStream ()
 The stored std::ostringstream object, for constructors of clients to write parameters on.
 
RealFreqsgetRealFreqs ()
 
ComplexFreqsgetComplexFreqs ()
 

Detailed Description

In the language of the framework, a free system is a unary system (arity 1, RANK=1)

Definition at line 46 of file Free.h.

Member Function Documentation

double structure::Free::highestFrequency ( ) const
inline

Simply connects the pure virtual QuantumSystem::highestFrequency to the implementation DynamicsBase::highestFrequency.

An exception to the rule “never redefine an inherited non-virtual function” is taken because these functions are called the same in the two bases of Free, which would otherwise create ambiguities.

Definition at line 69 of file Free.h.


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