C++QEDCore  v2 Milestone 10
a framework for simulating open quantum dynamics – core
BinarySystem.h File Reference

Defines class of the same name. More...

#include "BinarySystemFwd.h"
#include "QuantumSystem.h"
#include "SubSystem.h"
#include "SmartPtr.h"
+ Include dependency graph for BinarySystem.h:

Go to the source code of this file.

Classes

class  binary::Base
 Common base for all class-composed BinarySystems. More...
 
class  binary::Exact
 Implements the structure::Exact interface for a BinarySystem along the same lines as Base implements the structure::Averaged interface. More...
 
class  binary::Hamiltonian
 Implements the structure::Hamiltonian interface for a BinarySystem. More...
 
class  binary::Liouvillean
 Implements the structure::Liouvillean interface for a BinarySystem. More...
 
class  binary::EmptyBase< typename >
 Helper for class composition of BinarySystem. More...
 
class  BinarySystem< IS_EX, IS_HA, IS_LI >
 Implements the simplest composite system: a binary where a single binary::Interaction couples two free systems. More...
 

Namespaces

 binary
 Auxiliary tools for BinarySystem.
 

Macros

#define CLASS_HEADER(Class)   class Class : public structure::Class<2>
 
#define CLASS_BODY_PART(Class, Aux)
 
#define BASE_class(Aux, Class)   mpl::if_c<IS_##Aux,binary::Class,binary::EmptyBase<binary::Class> >::type
 

Typedefs

typedef boost::shared_ptr< const Base > binary::Ptr
 Convenience typedef.
 
typedef structure::Interaction< 2 > binary::Interaction
 Binary interaction.
 
typedef composite::SubSystemFree binary::SSF
 Convenience typedef.
 
typedef composite::SubSystemsInteraction< 2 > binary::SSI
 Convenience typedef.
 

Functions

const Ptr binary::doMake (Interaction::Ptr)
 Maker function for BinarySystem. More...
 
template<typename IA >
const Ptr binary::make (const IA &ia)
 Templatized maker function relying on cpputils::sharedPointerize to delegate to make()
 
template<structure::LiouvilleanAveragedTag >
std::ostream & binary::displayKey (std::ostream &, size_t &, const SSF &free0, const SSF &free1, const SSI &ia)
 Outfactored common functionality of Liouvillean and Averaged.
 
template<structure::LiouvilleanAveragedTag >
size_t binary::nAvr (const SSF &free0, const SSF &free1, const SSI &ia)
 Outfactored common functionality of Liouvillean and Averaged.
 
template<structure::LiouvilleanAveragedTag >
const structure::LiouvilleanAveragedCommon::DArray1D binary::average (double t, const quantumdata::LazyDensityOperator< 2 > &ldo, const SSF &free0, const SSF &free1, const SSI &ia, size_t numberAvr)
 Outfactored common functionality of Liouvillean and Averaged.
 

Detailed Description

Defines class of the same name.

Definition in file BinarySystem.h.

Macro Definition Documentation

#define CLASS_BODY_PART (   Class,
  Aux 
)
Value:
public: \
typedef structure::Class<1> Aux##1; \
typedef structure::Class<2> Aux##2; \
\
Class(const SSF& free0, const SSF& free1, const SSI& ia) : free0_(free0), free1_(free1), ia_(ia) {} \
\
private: \
const SSF &free0_, &free1_; \
const SSI &ia_; \
composite::SubSystemFree SSF
Convenience typedef.
Definition: BinarySystem.h:37
composite::SubSystemsInteraction< 2 > SSI
Convenience typedef.
Definition: BinarySystem.h:38

Definition at line 107 of file BinarySystem.h.