C++QEDElements  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – generic elements
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
MultiLevel_.h File Reference

Defines free elements of the MultiLevel bundle. More...

#include "MultiLevel_Fwd.h"
#include "ParsMultiLevel.h"
#include "AveragingUtils.tcc"
#include "ElementAveraged.h"
#include "ElementLiouvillean.h"
#include "Free.h"
#include "FreeExact.h"
#include "Hamiltonian.h"
#include <boost/fusion/mpl/size.hpp>
#include <boost/shared_ptr.hpp>
+ Include dependency graph for MultiLevel_.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  multilevel::MultiLevelExactNotImplementedException
 
class  multilevel::Exact< NL >
 
class  multilevel::Storage< T >
 
class  multilevel::Storage< double >
 
class  multilevel::Pump< I, J >
 Class representing an elementary pump term (an $\eta_{ij}$ here) with a compile-time pair $i,j$ and a runtime complex value. More...
 
class  multilevel::HamiltonianIP< NL, VP >
 
class  multilevel::HamiltonianSch< NL, VP >
 
class  multilevel::Decay< I, J >
 Class representing an elementary decay term (a $\gamma_{ij}$ here) with a compile-time pair $i,j$ and a runtime real value. More...
 
class  multilevel::Liouvillean< NL, VL >
 
class  MultiLevelBase< NL >
 
class  PumpedLossyMultiLevelSch< NL, VP, VL, AveragingType >
 Implements a free multi-level system with driving and loss. More...
 

Namespaces

 multilevel
 Contains helpers for the MultiLevel bundle.
 

Macros

#define RETURN_type   typename MultiLevelBase<NL>::Ptr
 

Typedefs

template<int NL>
using multilevel::Levels = blitz::TinyVector< dcomp, NL >
 Type for storing complex level energies (the $z_i$s here) More...
 
template<int NL>
using multilevel::RealLevels = blitz::TinyVector< double, NL >
 Type for storing level energies (the $\delta_i$s here) More...
 

Functions

template<typename T >
std::ostream & multilevel::operator<< (std::ostream &os, const Storage< T > &s)
 
template<typename T >
std::istream & multilevel::operator>> (std::istream &is, Storage< T > &s)
 
template<typename AveragingType , int NL, typename VP , typename VL , typename... AveragingConstructorParameters>
RETURN_type multilevel::makePumpedLossySch (const RealLevels< NL > &deltas, const VP &etas, const VL &gammas, double gamma_parallel, AveragingConstructorParameters &&...a)
 Maker function for PumpedLossyMultiLevelSch.
 
template<typename AveragingType , int NL, typename VP , typename VL , typename... AveragingConstructorParameters>
RETURN_type multilevel::makePumpedLossySch (const multilevel::ParsPumpedLossy< NL, VP, VL > &p, AveragingConstructorParameters &&...a)
 
template<int NL, typename VP , typename VL >
RETURN_type multilevel::makePumpedLossySch (const RealLevels< NL > &deltas, const VP &etas, const VL &gammas, double gamma_parallel, const std::string &keyTitle="PumpedLossyMultiLevelSch", bool offDiagonals=false)
 
template<int NL, typename VP , typename VL >
RETURN_type multilevel::makePumpedLossySch (const multilevel::ParsPumpedLossy< NL, VP, VL > &p, const std::string &keyTitle="PumpedLossyMultiLevelSch", bool offDiagonals=false)
 

Variables

const std::string multilevel::keyTitle ="MultiLevel"
 

Detailed Description

Defines free elements of the MultiLevel bundle.

Definition in file MultiLevel_.h.