#ifndef _PsiToChic1GamProdLh_H #define _PsiToChic1GamProdLh_H #include <iostream> #include <fstream> #include <string> #include <vector> #include <complex> #include <cassert> #include <boost/shared_ptr.hpp> #include "TROOT.h" // #include <TSystem.h> #include "qft++/topincludes/relativistic-quantum-mechanics.hh" #include "PwaUtils/AbsLh.hh" #include "Examples/Psi2SToKpKmPiGam/Psi2SToKpKmPiGamData.hh" #include "Examples/Psi2SToKpKmPiGam/Psi2SToKpKmPiGamEvtList.hh" #include "PwaUtils/DataUtils.hh" class PsiToChic1GamProdLh : public AbsLh{ public: // create/copy/destroy: ///Constructor PsiToChic1GamProdLh(boost::shared_ptr<const EvtDataBaseList>); PsiToChic1GamProdLh(boost::shared_ptr<AbsLh>); /** Destructor */ virtual ~PsiToChic1GamProdLh(); virtual AbsLh* clone_() const { return new PsiToChic1GamProdLh(_evtListPtr); } // Getters: virtual double calcEvtIntensity(EvtData* theData, fitParams& theParamVal); virtual void getDefaultParams(fitParams& fitVal, fitParams& fitErr); virtual void print(std::ostream& os) const; protected: virtual complex<double> calcCoherentAmp(Spin Minit, Spin lamGam, fitParams& theParamVal, EvtData* theData); complex<double> calcCoherentAmp(Spin Minit, Spin MChi, Spin MGamma, fitParams& theParamVal, EvtData* theData); private: }; #endif