Describes interaction of Free elements. More...
#include <Interaction.h>
Classes | |
class | FreesProxy |
Shared-pointerizes the elements passed as Frees. More... | |
Public Types | |
typedef boost::shared_ptr< const Interaction > | Ptr |
typedef blitz::TinyVector< Free::Ptr, RANK > | Frees |
A tiny vector of shared pointers to the Free objects between which the interaction is defined. More... | |
template<typename F > | |
using | FreesTemplate = blitz::TinyVector< F, RANK > |
F must be convertible to Free::Ptr by cpputils::sharedPointerize | |
typedef DimensionsBookkeeper< RANK >::Dimensions | Dimensions |
Public Types inherited from structure::DynamicsBase | |
typedef boost::shared_ptr< const DynamicsBase > | Ptr |
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< RF > | RealFreqs |
list of real frequency-like parameters | |
typedef std::list< CF > | ComplexFreqs |
same for complex | |
typedef std::initializer_list< RF > | RealFreqsInitializer |
typedef std::initializer_list< CF > | ComplexFreqsInitializer |
Public Types inherited from DimensionsBookkeeper< RANK > | |
typedef ExtTiny< RANK > | Dimensions |
The dimensions as a static vector of size N_RANK. | |
Public Member Functions | |
Interaction (const Frees &frees, const RealFreqs &realFreqs=emptyRF, const ComplexFreqs &complexFreqs=emptyCF) | |
Interaction (const Frees &frees, const ComplexFreqs &complexFreqs) | |
Interaction (const Frees &frees, RealFreqsInitializer rf, ComplexFreqsInitializer cf={}) | |
Interaction (const Frees &frees, ComplexFreqsInitializer cf) | |
Interaction (const Frees &frees, RF rf, CF cf=CF()) | |
Interaction (const Frees &frees, CF cf) | |
Interaction (const Frees &frees, RealFreqsInitializer rf, CF cf) | |
Interaction (const Frees &frees, RF rf, ComplexFreqsInitializer cf) | |
template<typename F0 , typename F1 , typename... RCF_type> | |
Interaction (const F0 &f0, const F1 &f1, const RCF_type &...realAndComplexFreqs) | |
const Frees & | getFrees () const |
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. | |
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 Dimensions & | getDimensions () 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. | |
Additional Inherited Members | |
Static Public Attributes inherited from structure::DynamicsBase | |
static const RealFreqs | emptyRF |
static const ComplexFreqs | emptyCF |
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 ). | |
Protected Member Functions inherited from structure::DynamicsBase | |
std::ostringstream & | getParsStream () |
The stored std::ostringstream object, for constructors of clients to write parameters on. | |
virtual std::ostream & | displayMoreParameters (std::ostream &) const |
In its default implementation, displayes the frequency-like parameters of the system in a nice format together with their names. | |
RealFreqs & | getRealFreqs () |
ComplexFreqs & | getComplexFreqs () |
Related Functions inherited from structure::DynamicsBase | |
template<int RANK> | |
const Exact< RANK >::Ptr | qse (DynamicsBase::Ptr base) |
Dynamic cast to a shared pointer to Exact More... | |
template<int RANK> | |
const Hamiltonian< RANK >::Ptr | qsh (DynamicsBase::Ptr base) |
Dynamic cast to a shared pointer to Hamiltonian More... | |
template<int RANK> | |
const Liouvillean< RANK >::Ptr | qsl (DynamicsBase::Ptr base) |
Dynamic cast to a shared pointer to Liouvillean More... | |
template<int RANK> | |
const Averaged< RANK >::Ptr | qsa (DynamicsBase::Ptr base) |
Dynamic cast to a shared pointer to Averaged More... | |
Describes interaction of Free elements.
RANK | Arity of the interaction. (Not greater than the arity of the full system Hilbert space.) |
No inheritance from QuantumSystem because it does not make sense to simulate such an element as describes an interaction alone. However, an interaction can have frequency-like parameters, hence the inheritance from DynamicsBase.
Definition at line 38 of file Interaction.h.
typedef blitz::TinyVector<Free::Ptr,RANK> structure::Interaction< RANK >::Frees |
A tiny vector of shared pointers to the Free objects between which the interaction is defined.
Definition at line 45 of file Interaction.h.