3 #ifndef CPPQEDCORE_QUANTUMTRAJECTORY_TIMEAVERAGINGMCWF_TRAJECTORY_H_INCLUDED
4 #define CPPQEDCORE_QUANTUMTRAJECTORY_TIMEAVERAGINGMCWF_TRAJECTORY_H_INCLUDED
6 #include "TimeAveragingMCWF_TrajectoryFwd.h"
45 typedef typename Base::StateVectorLow StateVectorLow;
47 typedef typename Base::Averaged
Averaged;
49 typedef typename Averaged::Averages Averages;
52 template<
typename SYS>
57 double relaxationTime,
58 const StateVectorLow& scaleAbs=StateVectorLow()
60 : Base(psi,sys,p,scaleAbs), relaxationTime_(relaxationTime), averages_(this->getQSW().template
nAvr<
structure::
LA_Av>()), sum_(0), av_(this->getQSW().getAv())
65 const Averages getAverages()
const {
return averages_;}
68 std::ostream& display_v(std::ostream&,
int)
const override;
70 std::ostream& logOnEnd_v(std::ostream& os)
const override;
75 const std::string trajectoryID_v()
const override {
return "TimeAveragingMCWF_Trajectory";}
77 const double relaxationTime_;
79 mutable Averages averages_;
90 #endif // CPPQEDCORE_QUANTUMTRAJECTORY_TIMEAVERAGINGMCWF_TRAJECTORY_H_INCLUDED
boost::shared_ptr< const Base > Ptr
Convenience typedef.
Represents a trajectory that has both adaptive ODE evolution and noise.
State vector of arbitrary arity.
Comprises modules representing trajectory drivers for simulating quantum systems. ...
Defines class of the same name.
boost::archive::binary_oarchive oarchive
delegated to Boost.Serialization
Comprises modules for describing quantum systems.
size_t nAvr(const SSF &free0, const SSF &free1, const SSI &ia)
Outfactored common functionality of Liouvillean and Averaged.
Implements a single Monte Carlo wave-function trajectory.
The interface every system that calculates and displays quantum averages must present towards the tra...
boost::archive::binary_iarchive iarchive
delegated to Boost.Serialization
Derived from MCWF_Trajectory, this class in addition performs time averaging of the columns during tr...
cpputils::iarchive & readStateMore_v(cpputils::iarchive &iar) override
Forwards to QuantumTrajectory::readStateMore_v (that involves setting t0) + serializes mcwf::Logger s...
cpputils::oarchive & writeStateMore_v(cpputils::oarchive &oar) const override
Forwards to Base::writeStateMore_v + serializes mcwf::Logger state.
Aggregate of parameters pertaining to MCWF simulations.
TimeAveragingMCWF_Trajectory(StateVector &psi, const SYS &sys, const mcwf::Pars &p, double relaxationTime, const StateVectorLow &scaleAbs=StateVectorLow())
The signature is identical to MCWF_Trajectory::MCWF_Trajectory, but the relaxation time must be suppl...