// LSDecAmps class definition file. -*- C++ -*- // Copyright 2012 Bertram Kopf #pragma once #include <iostream> #include <vector> #include <complex> #include <map> #include <string> #include <cassert> #include <boost/shared_ptr.hpp> #include "PwaUtils/AbsXdecAmp.hh" class IsobarLSDecay; class AbsDecay; class LSDecAmps : public AbsXdecAmp{ public: // create/copy/destroy: ///Constructor LSDecAmps(boost::shared_ptr<IsobarLSDecay> theDec); LSDecAmps(boost::shared_ptr<AbsDecay> theDec); /** Destructor */ virtual ~LSDecAmps(); // Getters: virtual complex<double> XdecAmp(Spin lamX, EvtData* theData, Spin lamFs=0); virtual complex<double> XdecPartAmp(Spin lamX, Spin lamDec, short fixDaughterNr, EvtData* theData, Spin lamFs); virtual void getDefaultParams(fitParams& fitVal, fitParams& fitErr); virtual void print(std::ostream& os) const; virtual bool checkRecalculation(fitParams& theParamVal); // boost::shared_ptr<const jpcRes>& jpcPtr() {return _JPCPtr;} std::vector< boost::shared_ptr<const JPCLS> >& jpclsVec() {return _JPCLSs;} virtual void updateFitParams(fitParams& theParamVal); protected: std::vector< boost::shared_ptr<const JPCLS> > _JPCLSs; double _factorMag; double _parityFactor; private: };