CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtFlatte Class Reference

#include <EvtFlatte.hh>

Public Member Functions

EvtFlatteoperator= (const EvtFlatte &)
 
 EvtFlatte (const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl, double theta, double mass, vector< EvtFlatteParam > &params)
 
virtual ~EvtFlatte ()
 
const EvtVector4Rp4_p ()
 
const EvtVector4Rp4_d1 ()
 
const EvtVector4Rp4_d2 ()
 
double amplitude ()
 
double theta ()
 
double mass ()
 
EvtComplex resAmpl ()
 

Detailed Description

Definition at line 48 of file EvtFlatte.hh.

Constructor & Destructor Documentation

◆ EvtFlatte()

EvtFlatte::EvtFlatte ( const EvtVector4R p4_p,
const EvtVector4R p4_d1,
const EvtVector4R p4_d2,
double  ampl,
double  theta,
double  mass,
vector< EvtFlatteParam > &  params 
)

Definition at line 55 of file EvtFlatte.cc.

61 :
62 _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2), _ampl(ampl), _theta(theta),
63 _mass(mass),
64 _params(params)
65 // _m1a(m1a), _m1b(m1b), _g1(g1),
66 // _m2a(m2a), _m2b(m2b), _g2(g2)
67{}
const EvtVector4R & p4_d2()
Definition: EvtFlatte.hh:71
const EvtVector4R & p4_d1()
Definition: EvtFlatte.hh:70
const EvtVector4R & p4_p()
Definition: EvtFlatte.hh:69
double mass()
Definition: EvtFlatte.hh:81
double theta()
Definition: EvtFlatte.hh:78

◆ ~EvtFlatte()

EvtFlatte::~EvtFlatte ( )
virtual

Definition at line 30 of file EvtFlatte.cc.

30{}

Member Function Documentation

◆ amplitude()

double EvtFlatte::amplitude ( )
inline

Definition at line 75 of file EvtFlatte.hh.

75{ return _ampl; }

◆ mass()

double EvtFlatte::mass ( )
inline

Definition at line 81 of file EvtFlatte.hh.

81{ return _mass; }

Referenced by resAmpl().

◆ operator=()

EvtFlatte & EvtFlatte::operator= ( const EvtFlatte n)

Definition at line 34 of file EvtFlatte.cc.

35{
36 if ( &n == this ) return *this;
37 _p4_p = n._p4_p;
38 _p4_d1 = n._p4_d1;
39 _p4_d2 = n._p4_d2;
40 _ampl = n._ampl;
41 _theta = n._theta;
42 _mass = n._mass;
43 _params = n._params;
44 // _m1a = n._m1a;
45 // _m1b = n._m1b;
46 // _g1 = n._g1;
47 // _m2a = n._m2a;
48 // _m2b = n._m2b;
49 // _g2 = n._g2;
50 return *this;
51}
const Int_t n

◆ p4_d1()

const EvtVector4R & EvtFlatte::p4_d1 ( )
inline

Definition at line 70 of file EvtFlatte.hh.

70{ return _p4_d1; }

◆ p4_d2()

const EvtVector4R & EvtFlatte::p4_d2 ( )
inline

Definition at line 71 of file EvtFlatte.hh.

71{ return _p4_d2; }

◆ p4_p()

const EvtVector4R & EvtFlatte::p4_p ( )
inline

Definition at line 69 of file EvtFlatte.hh.

69{ return _p4_p; }

◆ resAmpl()

EvtComplex EvtFlatte::resAmpl ( )

Definition at line 71 of file EvtFlatte.cc.

71 {
72
73 double pi180inv = 1.0/EvtConst::radToDegrees;
74
75 // EvtComplex ampl(cos(_theta*pi180inv), sin(_theta*pi180inv));
76 // ampl *= _ampl;
77
78 // SCALARS ONLY
79 double mR = (_p4_d1+_p4_d2).mass();
80
81 EvtComplex w;
82
83 for (vector<EvtFlatteParam>::const_iterator param = _params.begin();
84 param != _params.end();
85 ++param) {
86
87 double m1 = (*param).m1(); double m2 = (*param).m2();
88 double g = (*param).g();
89 w += (g*g
90 *sqrtCplx((1-((m1-m2)*(m1-m2))/(mR*mR))*
91 (1-((m1+m2)*(m1+m2))/(mR*mR))));
92 // cout << m1 << " " << mR << " " << w << endl;
93 }
94
95 EvtComplex denom = _mass*_mass - mR*mR - EvtComplex(0,1)*w;
96 EvtComplex ampl = _ampl*EvtComplex(cos(_theta*pi180inv), sin(_theta*pi180inv))/denom;
97 // cout << abs(1/denom) << endl;
98 return ampl;
99}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213
static const double radToDegrees
Definition: EvtConst.hh:30

Referenced by EvtDDalitz::decay().

◆ theta()

double EvtFlatte::theta ( )
inline

Definition at line 78 of file EvtFlatte.hh.

78{ return _theta; }

The documentation for this class was generated from the following files: