21#ifndef EVT_AMP_FACTORY_HH
22#define EVT_AMP_FACTORY_HH
64 m_amp = std::make_unique<EvtAmplitudeSum<T>>();
65 m_ampConj = std::make_unique<EvtAmplitudeSum<T>>();
66 m_pc = std::make_unique<EvtPdfSum<T>>();
71 printf(
"Amplitude with %d terms\n", parser.
getNAmp() );
73 for ( i = 0; i < parser.
getNAmp(); i++ ) {
74 std::vector<std::string> v = parser.
amp( i );
79 printf(
"Conj. amplitude with %d terms\n", parser.
getNAmpConj() );
81 std::vector<std::string> v = parser.
ampConj( i );
86 printf(
"Calculating pole compensator integrals %d steps\n", nItg );
90 printf(
"End build\n" );
94 bool conj =
false ) = 0;
98 return (
m_ampConj->nTerms() > 0 ?
true :
false );
100 inline double dm()
const {
return m_dm; }
135 std::unique_ptr<EvtAmplitudeSum<T>>
m_amp;
137 std::unique_ptr<EvtPdfSum<T>>
m_pc;
EvtComplex conj(const EvtComplex &c)
double imag(const EvtComplex &c)
double real(const EvtComplex &c)
double abs2(const EvtComplex &c)
EvtAmpFactory(const EvtAmpFactory< T > &other)
EvtAmplitude< T > * getAmp(int i) const
virtual void build(const EvtMultiChannelParser &parser, int nItg)
EvtComplex getCoeff(int i) const
std::unique_ptr< EvtAmplitudeSum< T > > m_ampConj
std::unique_ptr< EvtPdfSum< T > > m_pc
EvtAmplitudeSum< T > * getAmpConj() const
double getTermCoeff(int i) const
EvtPdf< T > * getPC(int i) const
std::unique_ptr< EvtAmplitudeSum< T > > m_amp
const char * compName(int i) const
EvtPdfSum< T > * getPC() const
std::vector< std::string > m_names
virtual EvtAmpFactory< T > * clone() const =0
EvtAmpFactory(EvtAmpFactory< T > &&)=default
virtual void processAmp(EvtComplex c, std::vector< std::string > v, bool conj=false)=0
virtual ~EvtAmpFactory()=default
double getTermCoeff(int type, int i, int j) const
EvtAmplitudeSum< T > * getAmp() const
std::vector< std::string > ampConj(int i) const
EvtComplex ampConjCoef(int i) const
std::vector< std::string > amp(int i) const
EvtComplex ampCoef(int i) const