#ifndef _pbarpToOmegaPi0States_H #define _pbarpToOmegaPi0States_H #include <iostream> #include <string> #include <vector> #include <fstream> #include <boost/shared_ptr.hpp> #include "qft++/topincludes/relativistic-quantum-mechanics.hh" #include "PwaUtils/AbsStates.hh" #include "PwaUtils/pbarpStates.hh" #include "PwaUtils/DataUtils.hh" class pbarpStates; class pbarpToOmegaPi0States : public AbsStates { public: static boost::shared_ptr<pbarpToOmegaPi0States> getStates(); static boost::shared_ptr<pbarpToOmegaPi0States> getStates(boost::shared_ptr<pbarpStates> pbarpStates); /// Default Constructor pbarpToOmegaPi0States(boost::shared_ptr<pbarpStates> pbarpStates); /** Destructor */ virtual ~pbarpToOmegaPi0States(); virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpSingletStates() const {return _pbarpSingletToOmegaPi;}; virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpTripletM0States() const {return _pbarpTripletM0ToOmegaPi;}; virtual std::vector< boost::shared_ptr<const jpcRes> > pbarpTripletM1States() const {return _pbarpTripletM1ToOmegaPi;}; virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsSinglet() const {return _JPCLSomegaProdSinglet;}; virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsTriplet0() const {return _JPCLSomegaProdTripletM0;}; virtual std::vector< boost::shared_ptr<const JPCLS> > jpclsTriplet1() const {return _JPCLSomegaProdTripletM1;}; virtual void print(std::ostream& os) const; protected: virtual bool calcJPCs(); vector<LS> myGetValidLS(const Spin &__j,int __parity,const Spin &__s1,int __p1, const Spin &__s2,int __p2); private: static boost::shared_ptr<pbarpToOmegaPi0States> theStates; jpcRes _omegaJPC; jpcRes _piJPC; boost::shared_ptr<pbarpStates> _pbarpStatesAll; std::vector< boost::shared_ptr<const jpcRes> > _pbarpSingletToOmegaPi; std::vector< boost::shared_ptr<const jpcRes> > _pbarpTripletM0ToOmegaPi; std::vector< boost::shared_ptr<const jpcRes> > _pbarpTripletM1ToOmegaPi; std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdSinglet; std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdTripletM0; std::vector< boost::shared_ptr<const JPCLS> > _JPCLSomegaProdTripletM1; std::vector< boost::shared_ptr<const JPCLS> > extractJPCLSStates(std::vector< boost::shared_ptr<const jpcRes> > , std::vector< boost::shared_ptr<const JPCLS> > ) const; }; #endif /* _pbarpToOmegaPi0States_H */