#ifndef _K1400Spin12Lh_H #define _K1400Spin12Lh_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 "Examples/Psi2SToKpKmPiGam/AbsPsi2SToKpKmPiGamLh.hh" #include "Examples/Psi2SToKpKmPiGam/Psi2SToKpKmPiGamData.hh" #include "PwaUtils/DataUtils.hh" #include "Minuit2/MnUserParameters.h" class K1400Spin12Lh : public AbsPsi2SToKpKmPiGamLh{ public: // create/copy/destroy: ///Constructor K1400Spin12Lh(boost::shared_ptr<const Psi2SToKpKmPiGamEventList>, boost::shared_ptr<const Psi2SToKpKmPiGamStates>); K1400Spin12Lh(boost::shared_ptr<AbsPsi2SToKpKmPiGamLh>); /** Destructor */ virtual ~K1400Spin12Lh(); virtual AbsPsi2SToKpKmPiGamLh* clone_() const { return new K1400Spin12Lh(_Psi2SToKpKmPiGamEvtListPtr, _Psi2SToKpKmPiGamStatesPtr); } // Getters: virtual void setMnUsrParams(MnUserParameters& upar, Psi2SToKpKmPiGamData::fitParamVal& startVal, Psi2SToKpKmPiGamData::fitParamVal& errVal); virtual int setFitParamVal(Psi2SToKpKmPiGamData::fitParamVal& theParamVal, const std::vector<double>& par) const; virtual void print(std::ostream& os) const; virtual void printCurrentFitResult(Psi2SToKpKmPiGamData::fitParamVal& theParamVal) const; protected: // virtual void checkFitParamVal(Psi2SToKpKmPiGamData::fitParamVal& fitVal); private: virtual complex<double> calcCoherentAmp(Spin Minit, Spin lamGam, const Psi2SToKpKmPiGamData::fitParamVal& theParamVal, Psi2SToKpKmPiGamData::Psi2SToKpKmPiGamEvtData* theData); }; #endif