C++QEDElements  v2 Milestone 10
a framework for simulating open quantum dynamics – generic elements
PumpedLossyMultiLevelSch< NL, VP, VL, AveragingType > Class Template Reference

Implements a free multi-level system with driving and loss. More...

#include <MultiLevel_.h>

+ Inheritance diagram for PumpedLossyMultiLevelSch< NL, VP, VL, AveragingType >:
+ Collaboration diagram for PumpedLossyMultiLevelSch< NL, VP, VL, AveragingType >:

Public Types

typedef multilevel::LevelsMF< NL >::type Levels
 
typedef multilevel::RealLevelsMF< NL >::type RealLevels
 
typedef multilevel::HamiltonianSch< NL, VP > Hamiltonian
 
typedef multilevel::Liouvillean< NL, VL > Liouvillean
 
typedef MultiLevelBase< NL > Base
 
typedef Base::Ptr Ptr
 
- Public Types inherited from multilevel::HamiltonianSch< NL, VP >
typedef LevelsMF< NL >::type Levels
 
- Public Types inherited from structure::HamiltonianTimeDependenceDispatched< 1, structure::NO_TIME >
typedef time::Dispatcher< structure::NO_TIME >::type Time
 
- Public Types inherited from multilevel::Liouvillean< NL, VL >
typedef structure::ElementLiouvilleanStrategies< 1, NLT > Base
 
typedef Base::JumpStrategies JumpStrategies
 
typedef Base::JumpRateStrategies JumpRateStrategies
 
typedef Base::KeyLabels KeyLabels
 
- Public Types inherited from structure::ElementLiouvilleanStrategies< 1, mpl::size< VL >::value >
typedef mpl::if_c< IS_TIME_DEPENDENT, boost::function< void(double, StateVectorLow &)>, boost::function< void(StateVectorLow &)> >::type JumpStrategy
 
typedef mpl::if_c< IS_TIME_DEPENDENT, boost::function< double(double, const LazyDensityOperator &)>, boost::function< double(const LazyDensityOperator &)> >::type JumpRateStrategy
 
typedef blitz::TinyVector< JumpStrategy, mpl::size< VL >::value > JumpStrategies
 
typedef blitz::TinyVector< JumpRateStrategy, mpl::size< VL >::value > JumpRateStrategies
 
- Public Types inherited from MultiLevelBase< NL >
typedef boost::shared_ptr< const MultiLevelBasePtr
 
- Public Types inherited from QuantumSystem< 1 >
typedef boost::shared_ptr< const QuantumSystemPtr
 
- Public Types inherited from DimensionsBookkeeper< RANK >
typedef ExtTiny< RANK > Dimensions
 
- Public Types inherited from structure::DynamicsBase
typedef std::tuple< std::string, double, double > RF
 
typedef std::tuple< std::string, dcomp, double > CF
 
typedef std::list< RFRealFreqs
 
typedef std::list< CFComplexFreqs
 

Public Member Functions

template<typename... AveragingConstructorParameters>
 PumpedLossyMultiLevelSch (const RealLevels &, const VP &, const VL &, AveragingConstructorParameters &&...)
 
- Public Member Functions inherited from multilevel::HamiltonianSch< NL, VP >
 HamiltonianSch (const Levels &zSchs, const VP &etas)
 
const Levels & get_zSchs () const
 
- Public Member Functions inherited from structure::Hamiltonian< RANK >
void addContribution (double t, const StateVectorLow &psi, StateVectorLow &dpsidt, double t0) const
 
- Public Member Functions inherited from multilevel::Liouvillean< NL, VL >
 Liouvillean (const VL &gammas)
 
const JumpStrategies fillJS () const
 
const JumpRateStrategies fillJRS () const
 
- Public Member Functions inherited from structure::ElementLiouvilleanAveragedCommon< LiouvilleanTimeDependenceDispatched< 1, IS_TIME_DEPENDENT > >
const std::string & getTitle () const
 
const KeyLabels & getLabels () const
 
- Public Member Functions inherited from MultiLevelBase< NL >
 MultiLevelBase (const RealFreqs &realFreqs=RealFreqs(), const ComplexFreqs &complexFreqs=ComplexFreqs())
 
- Public Member Functions inherited from structure::Free
 Free (size_t dim, const RealFreqs &realFreqs=emptyRF, const ComplexFreqs &complexFreqs=emptyCF)
 
double highestFrequency () const
 
std::ostream & displayParameters (std::ostream &os) const
 
double highestFrequency () const
 
std::ostream & displayParameters (std::ostream &os) const
 
- Public Member Functions inherited from QuantumSystem< 1 >
 QuantumSystem (const Dimensions &dimensions)
 
double highestFrequency () const
 
std::ostream & displayParameters (std::ostream &os) const
 
- Public Member Functions inherited from DimensionsBookkeeper< RANK >
 DimensionsBookkeeper (mpl::bool_< IS_CONST >=mpl::false_())
 
 DimensionsBookkeeper (const Dimensions &dimensions)
 
const DimensionsgetDimensions () const
 
size_t getTotalDimension () const
 
size_t getDimension (mpl::int_< RANK >=mpl::int_< 1 >()) const
 
void setDimensions (const Dimensions &dimensions)
 
- Public Member Functions inherited from structure::DynamicsBase
 DynamicsBase (const RealFreqs &=emptyRF, const ComplexFreqs &=emptyCF)
 
 DynamicsBase (RealFreqsInitializer rf, ComplexFreqsInitializer cf={})
 
double highestFrequency () const
 
std::ostream & displayParameters (std::ostream &) const
 
const Exact< RANK >::Ptr qse (DynamicsBase::Ptr base)
 
const Hamiltonian< RANK >::Ptr qsh (DynamicsBase::Ptr base)
 
const Liouvillean< RANK >::Ptr qsl (DynamicsBase::Ptr base)
 
const Averaged< RANK >::Ptr qsa (DynamicsBase::Ptr base)
 

Additional Inherited Members

- Static Public Member Functions inherited from multilevel::Liouvillean< NL, VL >
static const KeyLabels fillKeyLabels ()
 
- Static Public Attributes inherited from multilevel::HamiltonianSch< NL, VP >
static const int NPT =mpl::size<VP>::value
 
- Static Public Attributes inherited from multilevel::Liouvillean< NL, VL >
static const int NLT =mpl::size<VL>::value
 
- Static Public Attributes inherited from DimensionsBookkeeper< RANK >
static const int N_RANK
 
static const int DIMESIONS_BOOKKEEPER_RANK
 
- Protected Member Functions inherited from structure::ElementLiouvilleanAveragedCommon< LiouvilleanTimeDependenceDispatched< 1, IS_TIME_DEPENDENT > >
 ElementLiouvilleanAveragedCommon (const std::string &keyTitle, KeyLabelsPack &&...keyLabelsPack)
 
 ElementLiouvilleanAveragedCommon (const std::string &keyTitle, KeyLabelsInitializer il)
 
- Protected Member Functions inherited from structure::DynamicsBase
std::ostringstream & getParsStream ()
 
virtual std::ostream & displayMoreParameters (std::ostream &) const
 

Detailed Description

template<int NL, typename VP, typename VL, typename AveragingType>
class PumpedLossyMultiLevelSch< NL, VP, VL, AveragingType >

Implements a free multi-level system with driving and loss.

See also
The MultiLevel bundle
Template Parameters
NLnumber of levels
VPfusion vector of multilevel::Pump types representing all the pump terms (the sequence of $\eta_{ij}$s here) in the system
VLfusion vector of multilevel::Decay types representing all the decays (the sequence of $\gamma_{ij}$s here) of the system
Todo:
some static sanity checks of VP and VL in view of NL should be done

Definition at line 299 of file MultiLevel_.h.


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