C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
composite::_< V > Class Template Reference

Helper class to Composite. More...

#include <Act.h>

+ Inheritance diagram for composite::_< V >:
+ Collaboration diagram for composite::_< V >:

Public Types

typedef tmptools::Vector< V...> Vector
 
- Public Types inherited from composite::SubSystemsInteraction< mpl::size< tmptools::Vector< V...> >::value >
typedef structure::Interaction< RANK >::Ptr InteractionPtr
 
- Public Types inherited from structure::QuantumSystemWrapper< RANK, false >
typedef QuantumSystem< RANK > QS
 
typedef Exact< RANK > Ex
 
typedef Hamiltonian< RANK > Ha
 
typedef Liouvillean< RANK > Li
 
typedef Averaged< RANK > Av
 
typedef QS::Ptr QuantumSystemPtr
 
typedef Ex::Ptr ExactPtr
 
typedef Ha::Ptr HamiltonianPtr
 
typedef Li::Ptr LiouvilleanPtr
 
typedef Av::Ptr AveragedPtr
 
typedef Ex::StateVectorLow StateVectorLow
 
typedef Li::Rates Rates
 
typedef Li::LazyDensityOperator LazyDensityOperator
 
typedef Av::Averages Averages
 

Public Member Functions

template<typename IA >
 _ (const IA &ia)
 
- Public Member Functions inherited from composite::SubSystemsInteraction< mpl::size< tmptools::Vector< V...> >::value >
 SubSystemsInteraction (InteractionPtr ia)
 
const InteractionPtr get () const
 
- Public Member Functions inherited from structure::QuantumSystemWrapper< RANK, false >
std::ostream & displayCharacteristics (std::ostream &os) const
 Displays the dynamical characteristics of the system.
 
 QuantumSystemWrapper (DynamicsBase::Ptr qs)
 Constructor from DynamicsBase.
 
 QuantumSystemWrapper (QuantumSystemPtr qs, bool isNoisy)
 Constructor from QuantumSystem.
 
const QuantumSystemPtr getQS () const
 
QuantumSystemPtr getQS ()
 
const ExactPtr getEx () const
 
ExactPtr getEx ()
 
const HamiltonianPtr getHa () const
 
HamiltonianPtr getHa ()
 
const LiouvilleanPtr getLi () const
 
LiouvilleanPtr getLi ()
 
const AveragedPtr getAv () const
 
AveragedPtr getAv ()
 
const L_or_A_Ptr getLA (LA_Li_tagType) const
 
const L_or_A_Ptr getLA (LA_Av_tagType) const
 
bool applicableInMaster () const
 
void actWithU (double t, StateVectorLow &psi, double t0) const
 
void addContribution (double t, const StateVectorLow &psi, StateVectorLow &dpsidt, double t0) const
 
void actWithJ (double t, StateVectorLow &psi, size_t lindbladNo) const
 
void process (Averages &averages) const
 
std::ostream & display (double t, const LazyDensityOperator &matrix, std::ostream &os, int precision) const
 
size_t nAvr () const
 
std::ostream & displayKey (std::ostream &os, size_t &i) const
 
const Averages average (double t, const LazyDensityOperator &matrix) const
 

Additional Inherited Members

- Static Public Attributes inherited from structure::QuantumSystemWrapper< RANK, false >
static const int N_RANK
 

Detailed Description

template<int... V>
class composite::_< V >

Helper class to Composite.

It combines a set of retained index positions (via its tmptools::Vector base) with a certain structure::Interaction element (via the SubSystemsInteraction base) of the corresponding arity (equalling the number of retained index positions) – this means that the given structure::Interaction element will act on the given retained index positions.

Composite expects a Boost.Fusion sequence as its template argument VA.

Template Parameters
Vhas the same role as in tmptools::Vector

Definition at line 31 of file Act.h.


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