4 #ifndef CPPQEDELEMENTS_FREES_SPIN_H_INCLUDED
5 #define CPPQEDELEMENTS_FREES_SPIN_H_INCLUDED
26 typedef boost::shared_ptr<const SpinBase>
Ptr;
33 inline const Tridiagonal sx(Ptr spin) {
return (splus(spin)+sminus(spin))/2;}
34 inline const Tridiagonal sy(Ptr spin) {
return (splus(spin)-sminus(spin))/(2.*
DCOMP_I);}
46 double &omega, γ
64 SpinBase(
size_t twoS,
double theta,
double phi,
double omega,
double gamma,
size_t dim=0);
66 size_t getTwoS()
const {
return twoS_;}
68 double getTheta()
const {
return theta_;}
69 double getPhi ()
const {
return phi_;}
71 double getOmega()
const {
return omega_;}
72 double getGamma()
const {
return gamma_;}
77 void process_v(Averages&)
const;
83 const double theta_, phi_, omega_, gamma_, s_;
96 :
SpinBase(p.twoS,0.,0.,p.omega,p.gamma,p.dim), FreeExact(getTotalDimension())
103 bool applicableInMaster_v()
const {
return !getGamma();}
115 :
SpinBase(p.twoS,p.theta,p.phi,p.omega,p.gamma,p.dim),
118 getParsStream()<<
"# Schrodinger picture."<<std::endl;
140 #endif // CPPQEDELEMENTS_FREES_SPIN_H_INCLUDED
const boost::shared_ptr< const T > nonOwningConstSharedPtr(T *t)
boost::shared_ptr< const Base > Ptr
quantumdata::Types< 1 >::StateVectorLow StateVectorLow
const dcomp get_z() const
This plays analogous role to in Mode.
const dcomp DCOMP_I(0, 1)
const Tridiagonal dagger() const
std::complex< double > dcomp