1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtGen/EvtFlatte.hh
13 // Description:resonance-defining class
15 // Modification history:
17 // ponyisi 18 Feb 2008 created
19 //------------------------------------------------------------------------
24 #include "EvtGenBase/EvtVector4R.hh"
33 class EvtFlatteParam {
35 EvtFlatteParam(double m1, double m2, double g):
36 _m1(m1), _m2(m2), _g(g) {}
38 inline double m1() const { return _m1; }
39 inline double m2() const { return _m2; }
40 inline double g() const { return _g; }
52 EvtFlatte& operator = (const EvtFlatte &);
54 //constructor with all information about the resonance
55 EvtFlatte(const EvtVector4R& p4_p, const EvtVector4R& p4_d1,
56 const EvtVector4R& p4_d2,
57 double ampl, double theta,
59 vector<EvtFlatteParam>& params
60 // double m1a = 0.0, double m1b = 0.0, double g1 = 0.0,
61 // double m2a = 0.0, double m2b = 0.0, double g2 = 0.0
68 //return 4-momenta of the particles involved
69 inline const EvtVector4R& p4_p() { return _p4_p; }
70 inline const EvtVector4R& p4_d1() { return _p4_d1; }
71 inline const EvtVector4R& p4_d2() { return _p4_d2; }
75 inline double amplitude() { return _ampl; }
78 inline double theta() { return _theta; }
81 inline double mass() { return _mass; }
85 //calculate amplitude for this resonance
90 inline EvtComplex sqrtCplx(double in) { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex
93 EvtVector4R _p4_p, _p4_d1, _p4_d2;
94 double _ampl, _theta, _mass;
95 vector<EvtFlatteParam> _params;
96 // double _m1a, _m1b, _g1;
97 // double _m2a, _m2b, _g2;