Implements the simplest composite system: a binary where a single binary::Interaction couples two free systems. More...
#include <BinarySystem.h>
Public Types | |
typedef mpl::if_c< IS_EX,binary::Exact,binary::EmptyBase< binary::Exact > >::type | ExactBase |
typedef mpl::if_c< IS_HA,binary::Hamiltonian,binary::EmptyBase< binary::Hamiltonian > >::type | HamiltonianBase |
typedef mpl::if_c< IS_LI,binary::Liouvillean,binary::EmptyBase< binary::Liouvillean > >::type | LiouvilleanBase |
typedef structure::Interaction< 2 > | Interaction |
Public Types inherited from structure::QuantumSystem< 2 > | |
typedef boost::shared_ptr< const QuantumSystem > | Ptr |
Many of the basic template classes in the framework act as template metafunctions returning a shared pointer to their own type. More... | |
typedef Base::Dimensions | Dimensions |
Public Types inherited from DimensionsBookkeeper< RANK > | |
typedef ExtTiny< RANK > | Dimensions |
The dimensions as a static vector of size N_RANK. | |
Public Member Functions | |
BinarySystem (Interaction::Ptr) | |
Public Member Functions inherited from structure::QuantumSystem< 2 > | |
QuantumSystem (const Dimensions &dimensions) | |
Construction from a set of Dimensions. | |
double | highestFrequency () const |
The fastest timescale of the system for ODE stepping. | |
std::ostream & | displayParameters (std::ostream &os) const |
Communicating system parameters towards the user. | |
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 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 Types inherited from binary::Base | |
typedef structure::Averaged< 1 > | Av1 |
typedef structure::Averaged< 2 > | Av2 |
Protected Member Functions inherited from binary::Base | |
Base (Interaction::Ptr) | |
Constructor from an Interaction instant. | |
const SSF & | getFree0 () const |
const SSF & | getFree1 () const |
const SSI & | getIA () const |
Implements the simplest composite system: a binary where a single binary::Interaction couples two free systems.
The class is meant as a substitute for the full Composite in this simplest case, for saving compile-time (and, maybe, also runtime) resources.
It inherits unconditionally from binary::Base, so that it has the structure::QuantumSystem interface necessary to be evolved by quantum trajectories. All other interfaces are added conditionally:
IS_EX | governs whether the class should inherit from binary::Exact |
IS_HA | governs whether the class should inherit from binary::Hamiltonian |
IS_LI | governs whether the class should inherit from binary::Liouvillean |
If IS_EX
is true
, the class inherits from binary::Exact, otherwise from binary::EmptyBase, and so on.
Definition at line 187 of file BinarySystem.h.