BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
L1AddMaterial.h
Go to the documentation of this file.
1
#ifndef L1AddMaterial_h
2
#define L1AddMaterial_h
3
4
#include "
CbmL1Def.h
"
5
#include "
L1MaterialInfo.h
"
6
#include "
L1TrackPar.h
"
7
8
// #define cnst static const fvec
9
#define cnst const fvec
10
11
inline
void
L1AddMaterial
(
L1TrackPar
& T,
fvec
radThick,
fvec
qp0,
fvec
w = 1,
fvec
mass2 = 0.1395679f * 0.1395679f)
12
{
13
cnst
/*ZERO = 0.0f,*/
ONE = 1.;
14
15
fvec
tx = T.tx;
16
fvec
ty = T.ty;
17
fvec
txtx = tx * tx;
18
fvec
tyty = ty * ty;
19
fvec
txtx1 = txtx + ONE;
20
fvec
h = txtx + tyty;
21
fvec
t =
sqrt
(txtx1 + tyty);
22
fvec
h2 = h * h;
23
fvec
qp0t = qp0 * t;
24
25
cnst
c1 = 0.0136f, c2 = c1 * 0.038f, c3 = c2 * 0.5f, c4 = -c3 / 2.0f, c5 = c3 / 3.0f, c6 = -c3 / 4.0f;
26
27
fvec
s0 = (c1 + c2 *
log
(radThick) + c3 * h + h2 * (c4 + c5 * h + c6 * h2)) * qp0t;
28
fvec
a = ((ONE + mass2 * qp0 * qp0t) * radThick * s0 * s0);
29
30
// std::cout <<" a " << a << std::endl;
31
// a=0.000005;
32
T.C22 += w * txtx1 * a;
33
T.C32 += w * tx * ty * a;
34
T.C33 += w * (ONE + tyty) * a;
35
}
36
37
inline
void
L1AddMaterial
(
L1TrackPar
& T,
38
L1MaterialInfo
& info,
39
fvec
qp0,
40
fvec
w = 1,
41
fvec
mass2 = 0.1395679f * 0.1395679f)
42
{
43
cnst
/*ZERO = 0.0f,*/
ONE = 1.f;
44
45
fvec
tx = T.tx;
46
fvec
ty = T.ty;
47
fvec
txtx = tx * tx;
48
fvec
tyty = ty * ty;
49
fvec
txtx1 = txtx + ONE;
50
fvec
h = txtx + tyty;
51
fvec
t =
sqrt
(txtx1 + tyty);
52
fvec
h2 = h * h;
53
fvec
qp0t = qp0 * t;
54
55
cnst
c1 = 0.0136f, c2 = c1 * 0.038f, c3 = c2 * 0.5f, c4 = -c3 / 2.0f, c5 = c3 / 3.0f, c6 = -c3 / 4.0f;
56
57
fvec
s0 = (c1 + c2 * info.
logRadThick
+ c3 * h + h2 * (c4 + c5 * h + c6 * h2)) * qp0t;
58
fvec
a = ((ONE + mass2 * qp0 * qp0t) * info.
RadThick
* s0 * s0);
59
60
T.C22 += w * txtx1 * a;
61
T.C32 += w * tx * ty * a;
62
T.C33 += w * (ONE + tyty) * a;
63
}
64
65
inline
void
L1AddHalfMaterial
(
L1TrackPar
& T,
L1MaterialInfo
& info,
fvec
qp0)
66
{
67
cnst
/*ZERO = 0.0f,*/
ONE = 1.;
68
cnst
mass2 = 0.1395679f * 0.1395679f;
69
70
fvec
tx = T.tx;
71
fvec
ty = T.ty;
72
fvec
txtx = tx * tx;
73
fvec
tyty = ty * ty;
74
fvec
txtx1 = txtx + ONE;
75
fvec
h = txtx + tyty;
76
fvec
t =
sqrt
(txtx1 + tyty);
77
fvec
h2 = h * h;
78
fvec
qp0t = qp0 * t;
79
80
cnst
c1 = 0.0136f, c2 = c1 * 0.038f, c3 = c2 * 0.5f, c4 = -c3 / 2.0f, c5 = c3 / 3.0f, c6 = -c3 / 4.0f;
81
82
fvec
s0 = (c1 + c2 * (info.
logRadThick
+
log
(0.5)) + c3 * h + h2 * (c4 + c5 * h + c6 * h2)) * qp0t;
83
fvec
a = ((ONE + mass2 * qp0 * qp0t) * info.
RadThick
* 0.5 * s0 * s0);
84
// std::cout <<" a " << a << std::endl;
85
// a=0.000005;
86
T.C22 += txtx1 * a;
87
T.C32 += tx * ty * a;
88
T.C33 += (ONE + tyty) * a;
89
}
90
91
inline
void
L1AddPipeMaterial
(
L1TrackPar
& T,
fvec
qp0,
fvec
w = 1,
fvec
mass2 = 0.1395679f * 0.1395679f)
92
{
93
cnst
/*ZERO = 0.0f,*/
ONE = 1.f;
94
95
// static const fscal RadThick=0.0009f;//0.5/18.76;
96
// static const fscal logRadThick=log(RadThick);
97
const
fscal
RadThick = 0.0009f;
// 0.5/18.76;
98
const
fscal
logRadThick =
log
(RadThick);
99
fvec
tx = T.tx;
100
fvec
ty = T.ty;
101
fvec
txtx = tx * tx;
102
fvec
tyty = ty * ty;
103
fvec
txtx1 = txtx + ONE;
104
fvec
h = txtx + tyty;
105
fvec
t =
sqrt
(txtx1 + tyty);
106
fvec
h2 = h * h;
107
fvec
qp0t = qp0 * t;
108
109
cnst
c1 = 0.0136f, c2 = c1 * 0.038f, c3 = c2 * 0.5f, c4 = -c3 / 2.0f, c5 = c3 / 3.0f, c6 = -c3 / 4.0f;
110
fvec
s0 = (c1 + c2 * (logRadThick) + c3 * h + h2 * (c4 + c5 * h + c6 * h2)) * qp0t;
111
fvec
a = ((ONE + mass2 * qp0 * qp0t) * RadThick * s0 * s0);
112
T.C22 += w * txtx1 * a;
113
T.C32 += w * tx * ty * a;
114
T.C33 += w * (ONE + tyty) * a;
115
}
116
117
#undef cnst
118
119
#endif
CbmL1Def.h
L1AddHalfMaterial
void L1AddHalfMaterial(L1TrackPar &T, L1MaterialInfo &info, fvec qp0)
Definition
L1AddMaterial.h:65
L1AddPipeMaterial
void L1AddPipeMaterial(L1TrackPar &T, fvec qp0, fvec w=1, fvec mass2=0.1395679f *0.1395679f)
Definition
L1AddMaterial.h:91
cnst
#define cnst
Definition
L1AddMaterial.h:9
L1AddMaterial
void L1AddMaterial(L1TrackPar &T, fvec radThick, fvec qp0, fvec w=1, fvec mass2=0.1395679f *0.1395679f)
Definition
L1AddMaterial.h:11
L1MaterialInfo.h
L1TrackPar.h
fscal
float fscal
Definition
P4_F32vec4.h:232
fvec
F32vec4 fvec
Definition
P4_F32vec4.h:231
L1MaterialInfo
Definition
L1MaterialInfo.h:10
L1MaterialInfo::logRadThick
fvec logRadThick
Definition
L1MaterialInfo.h:18
L1MaterialInfo::RadThick
fvec RadThick
Definition
L1MaterialInfo.h:18
L1TrackPar
Definition
L1TrackPar.h:7
log
RVec< PromoteType< T > > log(const RVec< T > &v)
sqrt
RVec< PromoteType< T > > sqrt(const RVec< T > &v)
reconstruction
cat
L1Algo
L1AddMaterial.h
Generated on
for BmnRoot by
1.17.0