BmnRoot
26.10.0-19-g6979a6c6
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
CbmKFMaterial.h
Go to the documentation of this file.
1
/** Base class for material is being used by the CbmKF Kalman Filter
2
*
3
* @author S.Gorbunov
4
* @version 0.0
5
* @since 02.12.05
6
*
7
* Description will be here
8
*
9
*/
10
11
#ifndef CBMKFMATERIAL_H
12
#define CBMKFMATERIAL_H 1
13
14
#include "
CbmKFTrackInterface.h
"
15
class
TString
;
16
17
class
CbmKFMaterial
:
public
TObject
18
{
19
public
:
20
CbmKFMaterial
()
21
:
ID
(-1)
22
,
ZReference
(-1)
23
,
ZThickness
(-1)
24
,
RadLength
(-1)
25
,
F
(1)
26
,
Fe
(0.02145)
27
{}
28
virtual
~CbmKFMaterial
() {};
29
30
Int_t
ID
;
31
Double_t
ZReference
;
32
Double_t
ZThickness
;
33
Double_t
RadLength
;
34
Double_t
F
;
35
Double_t
Fe
;
36
virtual
Bool_t
IsOutside
(
Double_t
x,
Double_t
y) {
return
0; }
37
38
virtual
Int_t
Pass
(
Double_t
ZCross,
Double_t
ZThick,
CbmKFTrackInterface
& track,
Bool_t
downstream,
Double_t
& QP0);
39
40
virtual
Int_t
Pass
(
CbmKFTrackInterface
& track,
Bool_t
downstream,
Double_t
& QP0)
41
{
42
return
Pass
(
ZReference
,
ZThickness
, track, downstream, QP0);
43
}
44
45
virtual
Int_t
Pass
(
CbmKFTrackInterface
& track,
Bool_t
downstream)
46
{
47
Double_t
QP0 = track.
GetTrack
()[4];
48
return
Pass
(
ZReference
,
ZThickness
, track, downstream, QP0);
49
}
50
51
virtual
TString
Info
()
const
;
52
53
static
Bool_t
comparePDown
(
const
CbmKFMaterial
* a,
const
CbmKFMaterial
* b) {
return
a->
ZReference
< b->
ZReference
; }
54
55
static
Bool_t
compareP_z
(
const
CbmKFMaterial
* a,
Double_t
z) {
return
(a->
ZReference
+ a->
ZThickness
/ 2) < z; }
56
57
static
Bool_t
compareP_Z
(
Double_t
z,
const
CbmKFMaterial
* a) {
return
z < (a->
ZReference
+ a->
ZThickness
/ 2); }
58
59
ClassDef
(
CbmKFMaterial
, 1)
60
};
61
62
class
CbmKFWall
:
public
CbmKFMaterial
63
{
64
public
:
65
CbmKFWall
() {}
66
~CbmKFWall
() {}
67
68
ClassDef
(
CbmKFWall
, 1)
69
};
70
71
class
CbmKFTube
:
public
CbmKFMaterial
72
{
73
public
:
74
CbmKFTube
()
75
:
x
(0)
76
,
y
(0)
77
,
z
(0)
78
,
dz
(0)
79
,
r
(0)
80
,
R
(0)
81
,
rr
(0)
82
,
RR
(0)
83
{}
84
CbmKFTube
(
Int_t
ID
,
Double_t
x,
Double_t
y,
Double_t
z,
Double_t
dz
,
Double_t
r
,
Double_t
R,
Double_t
radL);
85
~CbmKFTube
() {}
86
87
TString
Info
()
const
;
88
89
Double_t
x
,
y
,
z
,
dz
;
90
Double_t
r
,
R
,
rr
,
RR
;
91
92
Bool_t
IsOutside
(
Double_t
X,
Double_t
Y)
93
{
94
X -=
x
;
95
Y -=
y
;
96
Double_t
r2 = X * X + Y * Y;
97
return
(r2 <
rr
||
RR
< r2);
98
}
99
ClassDef
(
CbmKFTube
, 1)
100
};
101
102
class
CbmKFBox
:
public
CbmKFMaterial
103
{
104
public
:
105
CbmKFBox
()
106
:
x
(0)
107
,
y
(0)
108
,
z
(0)
109
,
dx05
(0)
110
,
dy05
(0)
111
,
dz
(0)
112
{}
113
CbmKFBox
(
Int_t
ID
,
Double_t
x,
Double_t
y,
Double_t
z,
Double_t
dx,
Double_t
dy,
Double_t
dz
,
Double_t
radL);
114
~CbmKFBox
() {}
115
116
TString
Info
()
const
;
117
118
Double_t
x
,
y
,
z
,
dx05
,
dy05
,
dz
;
119
120
Bool_t
IsOutside
(
Double_t
X,
Double_t
Y);
121
122
ClassDef
(
CbmKFBox
, 1)
123
};
124
125
class
CbmKFCone
:
public
CbmKFMaterial
126
{
127
public
:
128
CbmKFCone
()
129
:
z1
(0)
130
,
z2
(0)
131
,
r1
(0)
132
,
R1
(0)
133
,
r2
(0)
134
,
R2
(0) {};
135
~CbmKFCone
() {}
136
137
Double_t
z1
,
z2
;
138
Double_t
r1
,
R1
,
r2
,
R2
;
139
140
Int_t
Pass
(
Double_t
ZCross,
Double_t
ZThick,
CbmKFTrackInterface
& track,
Bool_t
downstream,
Double_t
& QP0);
141
142
Int_t
Pass
(
CbmKFTrackInterface
& track,
Bool_t
downstream,
Double_t
& QP0)
143
{
144
return
Pass
(
ZReference
,
ZThickness
, track, downstream, QP0);
145
}
146
147
Int_t
Pass
(
CbmKFTrackInterface
& track,
Bool_t
downstream)
148
{
149
Double_t
QP0 = track.
GetTrack
()[4];
150
return
Pass
(
ZReference
,
ZThickness
, track, downstream, QP0);
151
}
152
ClassDef
(
CbmKFCone
, 1)
153
};
154
155
#endif
/* !CBMKFMATERIAL_H */
CbmKFTrackInterface.h
Bool_t
bool Bool_t
Int_t
int Int_t
Double_t
double Double_t
ClassDef
#define ClassDef(name, id)
CbmKFBox::CbmKFBox
CbmKFBox()
Definition
CbmKFMaterial.h:105
CbmKFBox::~CbmKFBox
~CbmKFBox()
Definition
CbmKFMaterial.h:114
CbmKFBox::x
Double_t x
Definition
CbmKFMaterial.h:118
CbmKFBox::z
Double_t z
Definition
CbmKFMaterial.h:118
CbmKFBox::Info
TString Info() const
Definition
CbmKFMaterial.cxx:110
CbmKFBox::IsOutside
Bool_t IsOutside(Double_t X, Double_t Y)
Definition
CbmKFMaterial.cxx:105
CbmKFBox::dx05
Double_t dx05
Definition
CbmKFMaterial.h:118
CbmKFBox::y
Double_t y
Definition
CbmKFMaterial.h:118
CbmKFBox::dz
Double_t dz
Definition
CbmKFMaterial.h:118
CbmKFBox::dy05
Double_t dy05
Definition
CbmKFMaterial.h:118
CbmKFCone
Definition
CbmKFMaterial.h:126
CbmKFCone::R2
Double_t R2
Definition
CbmKFMaterial.h:138
CbmKFCone::z2
Double_t z2
Definition
CbmKFMaterial.h:137
CbmKFCone::CbmKFCone
CbmKFCone()
Definition
CbmKFMaterial.h:128
CbmKFCone::R1
Double_t R1
Definition
CbmKFMaterial.h:138
CbmKFCone::Pass
Int_t Pass(CbmKFTrackInterface &track, Bool_t downstream)
Definition
CbmKFMaterial.h:147
CbmKFCone::~CbmKFCone
~CbmKFCone()
Definition
CbmKFMaterial.h:135
CbmKFCone::r1
Double_t r1
Definition
CbmKFMaterial.h:138
CbmKFCone::r2
Double_t r2
Definition
CbmKFMaterial.h:138
CbmKFCone::Pass
Int_t Pass(Double_t ZCross, Double_t ZThick, CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0)
Definition
CbmKFMaterial.cxx:118
CbmKFCone::Pass
Int_t Pass(CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0)
Definition
CbmKFMaterial.h:142
CbmKFCone::z1
Double_t z1
Definition
CbmKFMaterial.h:137
CbmKFMaterial
Definition
CbmKFMaterial.h:18
CbmKFMaterial::IsOutside
virtual Bool_t IsOutside(Double_t x, Double_t y)
Definition
CbmKFMaterial.h:36
CbmKFMaterial::ZReference
Double_t ZReference
Definition
CbmKFMaterial.h:31
CbmKFMaterial::Fe
Double_t Fe
Definition
CbmKFMaterial.h:35
CbmKFMaterial::Pass
virtual Int_t Pass(Double_t ZCross, Double_t ZThick, CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0)
Definition
CbmKFMaterial.cxx:18
CbmKFMaterial::Info
virtual TString Info() const
Definition
CbmKFMaterial.cxx:11
CbmKFMaterial::CbmKFMaterial
CbmKFMaterial()
Definition
CbmKFMaterial.h:20
CbmKFMaterial::RadLength
Double_t RadLength
Definition
CbmKFMaterial.h:33
CbmKFMaterial::comparePDown
static Bool_t comparePDown(const CbmKFMaterial *a, const CbmKFMaterial *b)
Definition
CbmKFMaterial.h:53
CbmKFMaterial::F
Double_t F
Definition
CbmKFMaterial.h:34
CbmKFMaterial::compareP_z
static Bool_t compareP_z(const CbmKFMaterial *a, Double_t z)
Definition
CbmKFMaterial.h:55
CbmKFMaterial::Pass
virtual Int_t Pass(CbmKFTrackInterface &track, Bool_t downstream, Double_t &QP0)
Definition
CbmKFMaterial.h:40
CbmKFMaterial::~CbmKFMaterial
virtual ~CbmKFMaterial()
Definition
CbmKFMaterial.h:28
CbmKFMaterial::ZThickness
Double_t ZThickness
Definition
CbmKFMaterial.h:32
CbmKFMaterial::Pass
virtual Int_t Pass(CbmKFTrackInterface &track, Bool_t downstream)
Definition
CbmKFMaterial.h:45
CbmKFMaterial::compareP_Z
static Bool_t compareP_Z(Double_t z, const CbmKFMaterial *a)
Definition
CbmKFMaterial.h:57
CbmKFMaterial::ID
Int_t ID
Definition
CbmKFMaterial.h:30
CbmKFTrackInterface
Definition
CbmKFTrackInterface.h:26
CbmKFTrackInterface::GetTrack
virtual Double_t * GetTrack()
Is it electron.
Definition
CbmKFTrackInterface.cxx:31
CbmKFTube
Definition
CbmKFMaterial.h:72
CbmKFTube::R
Double_t R
Definition
CbmKFMaterial.h:90
CbmKFTube::CbmKFTube
CbmKFTube()
Definition
CbmKFMaterial.h:74
CbmKFTube::rr
Double_t rr
Definition
CbmKFMaterial.h:90
CbmKFTube::IsOutside
Bool_t IsOutside(Double_t X, Double_t Y)
Definition
CbmKFMaterial.h:92
CbmKFTube::RR
Double_t RR
Definition
CbmKFMaterial.h:90
CbmKFTube::~CbmKFTube
~CbmKFTube()
Definition
CbmKFMaterial.h:85
CbmKFTube::x
Double_t x
Definition
CbmKFMaterial.h:89
CbmKFTube::Info
TString Info() const
Definition
CbmKFMaterial.cxx:75
CbmKFTube::r
Double_t r
Definition
CbmKFMaterial.h:90
CbmKFTube::dz
Double_t dz
Definition
CbmKFMaterial.h:89
CbmKFTube::y
Double_t y
Definition
CbmKFMaterial.h:89
CbmKFTube::z
Double_t z
Definition
CbmKFMaterial.h:89
CbmKFWall
Definition
CbmKFMaterial.h:63
CbmKFWall::CbmKFWall
CbmKFWall()
Definition
CbmKFMaterial.h:65
CbmKFWall::~CbmKFWall
~CbmKFWall()
Definition
CbmKFMaterial.h:66
TObject::TObject
TObject()
TString
reconstruction
KF
CbmKFMaterial.h
Generated on
for BmnRoot by
1.17.0