BOSS
8.0.0
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 "
EvtComplex.hh
"
25
#include "
EvtVector4R.hh
"
26
#include "TComplex.h"
27
#include <vector>
28
29
using
std::vector;
30
31
// Helper class
32
33
class
EvtFlatteParam
{
34
public
:
35
EvtFlatteParam
(
double
m1
,
double
m2
,
double
g
) : _m1(
m1
), _m2(
m2
), _g(
g
) {}
36
37
inline
double
m1
()
const
{
return
_m1; }
38
inline
double
m2
()
const
{
return
_m2; }
39
inline
double
g
()
const
{
return
_g; }
40
41
private
:
42
double
_m1, _m2, _g;
43
};
44
45
// class declaration
46
47
class
EvtFlatte
{
48
public
:
49
// operator
50
EvtFlatte
&
operator=
(
const
EvtFlatte
& );
51
52
// constructor with all information about the resonance
53
EvtFlatte
(
const
EvtVector4R
&
p4_p
,
const
EvtVector4R
&
p4_d1
,
const
EvtVector4R
&
p4_d2
,
54
double
ampl,
double
theta
,
double
mass
, vector<EvtFlatteParam>& params
55
// double m1a = 0.0, double m1b = 0.0, double g1 = 0.0,
56
// double m2a = 0.0, double m2b = 0.0, double g2 = 0.0
57
);
58
59
// destructor
60
virtual
~EvtFlatte
();
61
62
// accessors
63
// return 4-momenta of the particles involved
64
inline
const
EvtVector4R
&
p4_p
() {
return
_p4_p; }
65
inline
const
EvtVector4R
&
p4_d1
() {
return
_p4_d1; }
66
inline
const
EvtVector4R
&
p4_d2
() {
return
_p4_d2; }
67
68
// return amplitude
69
inline
double
amplitude
() {
return
_ampl; }
70
71
// return theta
72
inline
double
theta
() {
return
_theta; }
73
74
// return bwm
75
inline
double
mass
() {
return
_mass; }
76
77
// functions
78
79
// calculate amplitude for this resonance
80
EvtComplex
resAmpl
();
81
82
private
:
83
inline
EvtComplex
sqrtCplx(
double
in ) {
84
return
( in > 0 ) ?
EvtComplex
( sqrt( in ), 0 ) :
EvtComplex
( 0, sqrt( -in ) );
85
}
86
87
EvtVector4R _p4_p, _p4_d1, _p4_d2;
88
double
_ampl, _theta, _mass;
89
vector<EvtFlatteParam> _params;
90
// double _m1a, _m1b, _g1;
91
// double _m2a, _m2b, _g2;
92
};
93
94
#endif
EvtComplex.hh
EvtVector4R.hh
EvtComplex
Definition
EvtComplex.hh:28
EvtFlatteParam::m1
double m1() const
Definition
EvtFlatte.hh:37
EvtFlatteParam::g
double g() const
Definition
EvtFlatte.hh:39
EvtFlatteParam::EvtFlatteParam
EvtFlatteParam(double m1, double m2, double g)
Definition
EvtFlatte.hh:35
EvtFlatteParam::m2
double m2() const
Definition
EvtFlatte.hh:38
EvtFlatte::resAmpl
EvtComplex resAmpl()
Definition
EvtFlatte.cc:73
EvtFlatte::amplitude
double amplitude()
Definition
EvtFlatte.hh:69
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:54
EvtFlatte::operator=
EvtFlatte & operator=(const EvtFlatte &)
Definition
EvtFlatte.cc:34
EvtFlatte::p4_d2
const EvtVector4R & p4_d2()
Definition
EvtFlatte.hh:66
EvtFlatte::p4_d1
const EvtVector4R & p4_d1()
Definition
EvtFlatte.hh:65
EvtFlatte::p4_p
const EvtVector4R & p4_p()
Definition
EvtFlatte.hh:64
EvtFlatte::mass
double mass()
Definition
EvtFlatte.hh:75
EvtFlatte::theta
double theta()
Definition
EvtFlatte.hh:72
EvtVector4R
Definition
EvtVector4R.hh:29
8.0.0
BOSS_Gen
BesEvtGen
src
EvtGen
EvtGenBase
EvtFlatte.hh
Generated by
1.16.1