BOSS 7.0.8
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtFlatte.hh
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
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.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGen/EvtFlatte.hh
12//
13// Description:resonance-defining class
14//
15// Modification history:
16//
17// ponyisi 18 Feb 2008 created
18//
19//------------------------------------------------------------------------
20
21#ifndef EVTFLATTE_HH
22#define EVTFLATTE_HH
23
25#include <vector>
26
27using std::vector;
28
29class EvtComplex;
30
31// Helper class
32
34public:
35 EvtFlatteParam(double m1, double m2, double g):
36 _m1(m1), _m2(m2), _g(g) {}
37
38 inline double m1() const { return _m1; }
39 inline double m2() const { return _m2; }
40 inline double g() const { return _g; }
41
42private:
43 double _m1, _m2, _g;
44};
45
46//class declaration
47
48class EvtFlatte {
49public:
50
51 //operator
53
54 //constructor with all information about the resonance
56 const EvtVector4R& p4_d2,
57 double ampl, double theta,
58 double mass,
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
62 );
63
64 //destructor
65 virtual ~EvtFlatte();
66
67 //accessors
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; }
72
73
74 //return amplitude
75 inline double amplitude() { return _ampl; }
76
77 //return theta
78 inline double theta() { return _theta; }
79
80 //return bwm
81 inline double mass() { return _mass; }
82
83 //functions
84
85 //calculate amplitude for this resonance
87
88private:
89
90 inline EvtComplex sqrtCplx(double in) { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex
91 (0, sqrt(-in)); }
92
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;
98};
99
100#endif
101
double m1() const
Definition: EvtFlatte.hh:38
double g() const
Definition: EvtFlatte.hh:40
EvtFlatteParam(double m1, double m2, double g)
Definition: EvtFlatte.hh:35
double m2() const
Definition: EvtFlatte.hh:39
EvtComplex resAmpl()
Definition: EvtFlatte.cc:71
double amplitude()
Definition: EvtFlatte.hh:75
virtual ~EvtFlatte()
Definition: EvtFlatte.cc:30
EvtFlatte & operator=(const EvtFlatte &)
Definition: EvtFlatte.cc:34
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