Implements the simplest composite system: a binary where a single binary::Interaction couples two free systems. More...
#include <BinarySystem.h>
Inheritance diagram for BinarySystem< IS_EX, IS_HA, IS_LI >:
Collaboration diagram for BinarySystem< IS_EX, IS_HA, IS_LI >: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.