Class defining the virtual functions corresponding to a single Lindblad… More...
#include <ElementLiouvillean.h>
Inheritance diagram for structure::lindblad::_< RANK, LINDBLAD_ORDINAL, IS_TIME_DEPENDENT, NLINDBLADS >:
Collaboration diagram for structure::lindblad::_< RANK, LINDBLAD_ORDINAL, IS_TIME_DEPENDENT, NLINDBLADS >:Public Types | |
| typedef time::DispatcherIsTimeDependent< IS_TIME_DEPENDENT >::type | Time |
Public Member Functions | |
| void | typeErasedActWithJ (Time t, typename quantumdata::Types< RANK >::StateVectorLow &psi) const |
| calls the virtual doActWithJ for the given LINDBLAD_ORDINAL | |
| double | typeErasedRate (Time t, const quantumdata::LazyDensityOperator< RANK > &matrix) const |
| calls the virtual rate for the given LINDBLAD_ORDINAL | |
Class defining the virtual functions corresponding to a single Lindblad…
… and all the Lindblads with lesser index, since the class uses base-class chaining. At the bottom of the chain sits Base<NLINDBLADS>
| RANK | arity of the Hilbert space |
| LINDBLAD_ORDINAL | the index of the given Lindblad |
| IS_TIME_DEPENDENT | governs time dependence |
| NLINDBLADS | the total number of Lindblads |
In the case of the _::typeErasedActWithJ and _::typeErasedRate functions, the simultaneous use of the type-erasure & non-virtual interface idioms is notable
Definition at line 50 of file ElementLiouvillean.h.