14 #ifndef __EVTDALITZRESO_HH__
15 #define __EVTDALITZRESO_HH__
21 #include "EvtGenBase/EvtComplex.hh"
22 #include "EvtGenBase/EvtCyclic3.hh"
23 #include "EvtGenBase/EvtSpinType.hh"
24 #include "EvtGenBase/EvtTwoBodyVertex.hh"
25 #include "EvtGenBase/EvtDalitzPoint.hh"
26 #include "EvtGenBase/EvtDecayAmp.hh"
27 #include "EvtGenBase/EvtBlattWeisskopf.hh"
28 #include "EvtGenBase/EvtFlatte.hh"
39 enum NumType { NBW = 0 , RBW_ZEMACH = 1 , RBW_KUEHN = 2 , RBW_CLEO = 3 ,
40 RBW_ZEMACH2 = 4 , GS_CLEO = 5 , K_MATRIX = 6 , RBW_CLEO_ZEMACH = 7 ,
41 GS_CLEO_ZEMACH = 8 , LASS = 9 , K_MATRIX_I = 10, K_MATRIX_II = 11,
42 GAUSS_CLEO = 12, GAUSS_CLEO_ZEMACH = 13, FLATTE = 14, NON_RES = 15,
43 NON_RES_LIN = 16, NON_RES_EXP = 17 };
53 enum CouplingType {Undefined=0,PicPic=1,PizPiz,PiPi,KcKc,KzKz,KK,EtaPic,EtaPiz,PicPicKK,WA76};
57 EvtDalitzReso(
const EvtDalitzPlot& dp, EvtCyclic3::Pair pairRes, NumType typeN,
double alpha=0.0) : _dp(dp), _pairRes(pairRes), _typeN(typeN), _alpha(alpha) {};
60 EvtSpinType::spintype
spin,
double m0,
double g0, NumType typeN,
double f_b=0.0,
double f_d=1.5);
63 EvtSpinType::spintype spin,
double m0,
double g0, NumType typeN,
64 double m0_mix,
double g0_mix,
double delta_mix,
EvtComplex amp_mix);
67 EvtSpinType::spintype spin,
double m0, NumType typeN,
double g1,
double g2, CouplingType coupling2);
75 double a,
double r,
double B,
double phiB,
double R,
double phiR,
double cutoff=-1,
bool scaleByMOverQ=
false);
88 void set_fd(
double R ) { _vd.set_f( R ); }
89 void set_fb(
double R ) { _vb.set_f( R ); }
91 void addFlatteParam(
const EvtFlatteParam& param) { _flatteParams.push_back(param); }
94 EvtComplex psFactor(
double& ma,
double& mb,
double& m);
95 EvtComplex psFactor(
double& ma1,
double& mb1,
double& ma2,
double& mb2,
double& m);
96 EvtComplex propGauss(
const double& m0,
const double& s0,
const double& m);
97 EvtComplex propBreitWigner(
const double& m0,
const double& g0,
const double& m);
98 EvtComplex propBreitWignerRel(
const double& m0,
const double& g0,
const double& m);
101 EvtComplex propGounarisSakurai(
const double& m0,
const double& g0,
const double& k0,
102 const double& m,
const double& g,
const double& k);
103 inline double GS_f(
const double& m0,
const double& g0,
const double& k0,
const double& m,
const double& k);
104 inline double GS_h(
const double& m,
const double& k);
105 inline double GS_dhods(
const double& m0,
const double& k0);
106 inline double GS_d(
const double& m0,
const double& k0);
121 EvtCyclic3::Pair _pairAng;
122 EvtCyclic3::Pair _pairRes;
125 EvtSpinType::spintype _spin;
138 double _massFirst,_massSecond;
141 double _m0_mix,_g0_mix,_delta_mix;
146 CouplingType _coupling2;
153 EvtComplex _fr12prod,_fr13prod,_fr14prod,_fr15prod;
170 std::vector<EvtFlatteParam> _flatteParams;