#include <EvtAmpFactory.hh>
Public Member Functions | |
EvtAmpFactory () | |
EvtAmpFactory (const EvtAmpFactory< T > &other) | |
virtual | ~EvtAmpFactory () |
virtual EvtAmpFactory< T > * | clone () const =0 |
virtual void | build (const EvtMultiChannelParser &parser, int nItg) |
virtual void | processAmp (EvtComplex c, std::vector< std::string > v, bool conj=false)=0 |
bool | isCPModel () const |
double | dm () const |
void | setVerbose () |
EvtAmplitudeSum< T > * | getAmp () const |
EvtAmplitudeSum< T > * | getAmpConj () const |
EvtPdfSum< T > * | getPC () const |
EvtAmplitude< T > * | getAmp (int i) const |
EvtPdf< T > * | getPC (int i) const |
const char * | compName (int i) const |
EvtComplex | getCoeff (int i) const |
double | getTermCoeff (int i) const |
double | getTermCoeff (int type, int i, int j) const |
Protected Attributes | |
EvtAmplitudeSum< T > * | _amp |
EvtAmplitudeSum< T > * | _ampConj |
EvtPdfSum< T > * | _pc |
std::vector< std::string > | _names |
double | _dm |
bool | _verbose |
Definition at line 32 of file EvtAmpFactory.hh.
EvtAmpFactory< T >::EvtAmpFactory | ( | ) | [inline] |
EvtAmpFactory< T >::EvtAmpFactory | ( | const EvtAmpFactory< T > & | other | ) | [inline] |
Definition at line 39 of file EvtAmpFactory.hh.
00040 : 00041 _amp(other._amp ? (EvtAmplitudeSum<T>*) other._amp : 0), 00042 _ampConj(other._ampConj ? (EvtAmplitudeSum<T>*) other._ampConj : 0), 00043 _pc(other._pc ? (EvtPdfSum<T>*) other._pc : 0), 00044 _dm(other._dm), 00045 _verbose(other._verbose) 00046 {}
virtual EvtAmpFactory< T >::~EvtAmpFactory | ( | ) | [inline, virtual] |
virtual void EvtAmpFactory< T >::build | ( | const EvtMultiChannelParser & | parser, | |
int | nItg | |||
) | [inline, virtual] |
Definition at line 57 of file EvtAmpFactory.hh.
Referenced by EvtPto3P::createFactory().
00058 { 00059 _amp = new EvtAmplitudeSum<T>(); 00060 _ampConj = new EvtAmplitudeSum<T>(); 00061 _pc = new EvtPdfSum<T>(); 00062 00063 printf("Amplitude with %d terms\n",parser.getNAmp()); 00064 int i; 00065 for(i=0;i<parser.getNAmp();i++) { 00066 00067 std::vector<std::string> v = parser.amp(i); 00068 EvtComplex c = parser.ampCoef(i); 00069 processAmp(c,v); 00070 } 00071 00072 printf("Conj. amplitude with %d terms\n",parser.getNAmpConj()); 00073 for(i=0;i<parser.getNAmpConj();i++) { 00074 00075 std::vector<std::string> v = parser.ampConj(i); 00076 EvtComplex c = parser.ampConjCoef(i); 00077 processAmp(c,v,true); 00078 } 00079 00080 printf("Calculating pole compensator integrals %d steps\n",nItg); 00081 if(nItg > 0) _pc->getItg(nItg); 00082 00083 printf("End build\n"); 00084 }
virtual EvtAmpFactory<T>* EvtAmpFactory< T >::clone | ( | ) | const [pure virtual] |
Implemented in EvtPto3PAmpFactory.
const char* EvtAmpFactory< T >::compName | ( | int | i | ) | const [inline] |
double EvtAmpFactory< T >::dm | ( | ) | const [inline] |
EvtAmplitude<T>* EvtAmpFactory< T >::getAmp | ( | int | i | ) | const [inline] |
EvtAmplitudeSum<T>* EvtAmpFactory< T >::getAmp | ( | ) | const [inline] |
EvtAmplitudeSum<T>* EvtAmpFactory< T >::getAmpConj | ( | ) | const [inline] |
EvtComplex EvtAmpFactory< T >::getCoeff | ( | int | i | ) | const [inline] |
EvtPdf<T>* EvtAmpFactory< T >::getPC | ( | int | i | ) | const [inline] |
EvtPdfSum<T>* EvtAmpFactory< T >::getPC | ( | ) | const [inline] |
double EvtAmpFactory< T >::getTermCoeff | ( | int | type, | |
int | i, | |||
int | j | |||
) | const [inline] |
Definition at line 104 of file EvtAmpFactory.hh.
00105 { 00106 switch(type) { 00107 00108 case 0: return 2*real(_amp->c(i)*conj(_amp->c(j))); //posre 00109 case 1: return -2*real(_amp->c(i)*conj(_amp->c(j))); //negre 00110 case 2: return -2*imag(_amp->c(i)*conj(_amp->c(j))); //posim 00111 case 3: return 2*imag(_amp->c(i)*conj(_amp->c(j))); //negim 00112 default: assert(0); 00113 } 00114 }
double EvtAmpFactory< T >::getTermCoeff | ( | int | i | ) | const [inline] |
bool EvtAmpFactory< T >::isCPModel | ( | ) | const [inline] |
Definition at line 88 of file EvtAmpFactory.hh.
00088 { return (_ampConj->nTerms() > 0 ? true : false); }
virtual void EvtAmpFactory< T >::processAmp | ( | EvtComplex | c, | |
std::vector< std::string > | v, | |||
bool | conj = false | |||
) | [pure virtual] |
void EvtAmpFactory< T >::setVerbose | ( | ) | [inline] |
EvtAmplitudeSum<T>* EvtAmpFactory< T >::_amp [protected] |
EvtAmplitudeSum<T>* EvtAmpFactory< T >::_ampConj [protected] |
Definition at line 119 of file EvtAmpFactory.hh.
Referenced by EvtAmpFactory< EvtDalitzPoint >::build(), EvtAmpFactory< EvtDalitzPoint >::getAmpConj(), EvtAmpFactory< EvtDalitzPoint >::isCPModel(), and EvtAmpFactory< EvtDalitzPoint >::~EvtAmpFactory().
double EvtAmpFactory< T >::_dm [protected] |
Definition at line 123 of file EvtAmpFactory.hh.
Referenced by EvtAmpFactory< EvtDalitzPoint >::dm().
std::vector<std::string> EvtAmpFactory< T >::_names [protected] |
Definition at line 121 of file EvtAmpFactory.hh.
Referenced by EvtAmpFactory< EvtDalitzPoint >::compName().
EvtPdfSum<T>* EvtAmpFactory< T >::_pc [protected] |
Definition at line 120 of file EvtAmpFactory.hh.
Referenced by EvtAmpFactory< EvtDalitzPoint >::build(), EvtAmpFactory< EvtDalitzPoint >::getPC(), and EvtAmpFactory< EvtDalitzPoint >::~EvtAmpFactory().
bool EvtAmpFactory< T >::_verbose [protected] |
Definition at line 124 of file EvtAmpFactory.hh.
Referenced by EvtAmpFactory< EvtDalitzPoint >::setVerbose().