C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ProjectingMCWF_Trajectory.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
3 #ifndef CPPQEDCORE_QUANTUMTRAJECTORY_PROJECTINGMCWF_TRAJECTORY_H_INCLUDED
4 #define CPPQEDCORE_QUANTUMTRAJECTORY_PROJECTINGMCWF_TRAJECTORY_H_INCLUDED
5 
6 #include "ProjectingMCWF_TrajectoryFwd.h"
7 
8 #include "MCWF_Trajectory.h"
9 
10 #include <boost/ptr_container/ptr_vector.hpp>
11 
12 
13 namespace quantumtrajectory {
14 
15 
17 
27 template<int RANK>
29 {
30 private:
32 
33  typedef typename Base::StateVector StateVector ;
34  typedef typename Base::StateVectorLow StateVectorLow;
35 
36 public:
37  typedef boost::ptr_vector<StateVector> Basis;
38 
40  template<typename SYS>
42  StateVector& psi,
43  const Basis& basis,
44  const SYS& sys,
45  const mcwf::Pars& p,
46  const StateVectorLow& scaleAbs=StateVectorLow()
47  )
48  : Base(psi,sys,p,scaleAbs), basis_(basis), metricTensor_uu_(help())
49  {}
50 
51 private:
52  std::ostream& display_v(std::ostream&, int ) const override;
53  std::ostream& displayKey_v(std::ostream&, size_t&) const override;
54 
55  const linalg::CMatrix help() const;
56 
57  const Basis basis_;
58  const linalg::CMatrix metricTensor_uu_;
59 
60 };
61 
62 
63 } // quantumtrajectory
64 
65 
66 
67 #endif // CPPQEDCORE_QUANTUMTRAJECTORY_PROJECTINGMCWF_TRAJECTORY_H_INCLUDED
Represents a trajectory that has both adaptive ODE evolution and noise.
State vector of arbitrary arity.
Definition: StateVector.h:58
Comprises modules representing trajectory drivers for simulating quantum systems. ...
Definition: DO_Display.h:12
Defines class of the same name.
ProjectingMCWF_Trajectory(StateVector &psi, const Basis &basis, const SYS &sys, const mcwf::Pars &p, const StateVectorLow &scaleAbs=StateVectorLow())
The signature is identical to MCWF_Trajectory::MCWF_Trajectory, but the Basis set must be supplied as...
boost::ptr_vector< StateVector > Basis
The set of reference states to compare againts is stored as a ptr_vector
Implements a single Monte Carlo wave-function trajectory.
CArray< 2 > CMatrix
Complex matrix.
Definition: CMatrix.h:14
Aggregate of parameters pertaining to MCWF simulations.
Derived from MCWF_Trajectory, this class uses a set of reference state-vectors to project the evolved...