BOSS
7.1.2
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
24
#include "
EvtGenBase/EvtVector4R.hh
"
25
#include <vector>
26
27
using
std::vector;
28
29
class
EvtComplex
;
30
31
// Helper class
32
33
class
EvtFlatteParam
{
34
public
:
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
42
private
:
43
double
_m1, _m2, _g;
44
};
45
46
//class declaration
47
48
class
EvtFlatte
{
49
public
:
50
51
//operator
52
EvtFlatte
&
operator =
(
const
EvtFlatte
&);
53
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
,
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
86
EvtComplex
resAmpl
();
87
88
private
:
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
EvtVector4R.hh
EvtComplex
Definition
EvtComplex.hh:28
EvtFlatteParam
Definition
EvtFlatte.hh:33
EvtFlatteParam::m1
double m1() const
Definition
EvtFlatte.hh:38
EvtFlatteParam::g
double g() const
Definition
EvtFlatte.hh:40
EvtFlatteParam::EvtFlatteParam
EvtFlatteParam(double m1, double m2, double g)
Definition
EvtFlatte.hh:35
EvtFlatteParam::m2
double m2() const
Definition
EvtFlatte.hh:39
EvtFlatte
Definition
EvtFlatte.hh:48
EvtFlatte::resAmpl
EvtComplex resAmpl()
Definition
EvtFlatte.cc:71
EvtFlatte::amplitude
double amplitude()
Definition
EvtFlatte.hh:75
EvtFlatte::~EvtFlatte
virtual ~EvtFlatte()
Definition
EvtFlatte.cc:30
EvtFlatte::EvtFlatte
EvtFlatte(const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl, double theta, double mass, vector< EvtFlatteParam > ¶ms)
Definition
EvtFlatte.cc:55
EvtFlatte::operator=
EvtFlatte & operator=(const EvtFlatte &)
Definition
EvtFlatte.cc:34
EvtFlatte::p4_d2
const EvtVector4R & p4_d2()
Definition
EvtFlatte.hh:71
EvtFlatte::p4_d1
const EvtVector4R & p4_d1()
Definition
EvtFlatte.hh:70
EvtFlatte::p4_p
const EvtVector4R & p4_p()
Definition
EvtFlatte.hh:69
EvtFlatte::mass
double mass()
Definition
EvtFlatte.hh:81
EvtFlatte::theta
double theta()
Definition
EvtFlatte.hh:78
EvtVector4R
Definition
EvtVector4R.hh:29
7.1.2
Generator
BesEvtGen
BesEvtGen-00-04-30
src
EvtGen
EvtGenBase
EvtFlatte.hh
Generated by
1.12.0