File indexing completed on 2026-08-06 09:20:03
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EVT_PTO3P_AMP_FACTORY_HH
0022 #define EVT_PTO3P_AMP_FACTORY_HH
0023
0024 #include "EvtGenBase/EvtAmpFactory.hh"
0025 #include "EvtGenBase/EvtComplex.hh"
0026 #include "EvtGenBase/EvtCyclic3.hh"
0027 #include "EvtGenBase/EvtDalitzPlot.hh"
0028 #include "EvtGenBase/EvtDalitzPoint.hh"
0029
0030 #include <string>
0031 #include <vector>
0032
0033 class EvtPto3PAmpFactory final : public EvtAmpFactory<EvtDalitzPoint> {
0034 public:
0035 EvtPto3PAmpFactory( const EvtDalitzPlot& dp ) :
0036 EvtAmpFactory<EvtDalitzPoint>(), _dp( dp )
0037 {
0038 }
0039 EvtPto3PAmpFactory( EvtPto3PAmpFactory&& ) = default;
0040 EvtPto3PAmpFactory( const EvtPto3PAmpFactory& ) = default;
0041
0042 EvtAmpFactory<EvtDalitzPoint>* clone() const override
0043 {
0044 return new EvtPto3PAmpFactory( *this );
0045 }
0046
0047 void processAmp( EvtComplex c, std::vector<std::string> vv,
0048 bool conj ) override;
0049
0050 private:
0051 double matchIsobarCoef( EvtAmplitude<EvtDalitzPoint>& amp,
0052 EvtPdf<EvtDalitzPoint>& pdf, EvtCyclic3::Pair i );
0053
0054 EvtDalitzPlot _dp;
0055 };
0056
0057 #endif