11 #ifndef QUANTUMDYNAMICS_DYNAMICSSCHEDULE_HPP
12 #define QUANTUMDYNAMICS_DYNAMICSSCHEDULE_HPP
27 using Schedule = std::function<void(T &, double)>;
71 template <
template <
typename>
class T1,
typename T2,
typename T3 = T2>
double time_final
Definition: DynamicsSchedule.hpp:53
std::function< void(T &, double)> Schedule
typedef for function of parameters (T) and time (double)
Definition: DynamicsSchedule.hpp:27
double time_init
Definition: DynamicsSchedule.hpp:52
Schedule for the dynamics (uniform time step)
Definition: DynamicsSchedule.hpp:49
std::map< std::string, Schedule< T >> ScheduleMap
typedef for map of label and Schedule<T>
Definition: DynamicsSchedule.hpp:35
Schedule for the measurment.
Definition: DynamicsSchedule.hpp:72
ScheduleMap< T > dict
Definition: DynamicsSchedule.hpp:56
std::function< bool(double)> TimeToMeasure
typedef for function that returns bool (time to measure?) from argument double (time) ...
Definition: DynamicsSchedule.hpp:41
double time_step
Definition: DynamicsSchedule.hpp:54
std::function< void(QuantumSystem< T1, T2 > &, QuantumState< T3 > &)> Measure
what to measure? (list of operators to measure)
Definition: DynamicsSchedule.hpp:78
TimeToMeasure timeToMeasure
when to measure? (function/functor)
Definition: DynamicsSchedule.hpp:83