CbmRoot
L1MaterialInfo.h
Go to the documentation of this file.
1
#ifndef L1MaterialInfo_h
2
#define L1MaterialInfo_h
3
4
#include "../CbmL1Def.h"
5
#include <vector>
6
7
class
L1MaterialInfo
{
8
public
:
9
L1MaterialInfo
() :
thick
(0),
RL
(0),
RadThick
(0),
logRadThick
(0) {};
10
11
fvec
thick
,
RL
,
RadThick
,
logRadThick
;
12
}
_fvecalignment
;
13
14
class
L1Material
{
15
public
:
16
L1Material
() :
table
(0),
NBins
(0),
RMax
(0.),
iD
(0.) {};
17
18
std::vector<std::vector<float>>
table
;
19
20
// static const int NBins = 100; // TODO file?
21
// static const float RMax = 60.f;
22
// static const float iD = 0.5*NBins/60.f;//RMax!;
23
24
void
SetBins
(
int
n,
float
r) {
25
NBins
= n;
26
RMax
= r;
27
iD
= 0.5 *
NBins
/
RMax
;
28
}
29
30
float
GetRadThick
(
float
x
,
float
y
) {
31
x
= (x < RMax && x >= -
RMax
) ?
x
: 0;
32
y
= (y < RMax && y >= -
RMax
) ?
y
: 0;
33
int
i
=
static_cast<
int
>
((
x
+
RMax
) *
iD
);
34
int
j =
static_cast<
int
>
((
y
+
RMax
) *
iD
);
35
i
= (i < NBins && i >= 0) ?
i
:
NBins
/ 2;
36
j = (j < NBins && j >= 0) ? j :
NBins
/ 2;
37
return
table
[
i
][j];
38
}
39
40
41
fvec
GetRadThick
(
fvec
x
,
fvec
y
) {
42
fvec
r;
43
for
(
int
i
= 0;
i
<
fvecLen
;
i
++)
44
r[
i
] =
GetRadThick
(
x
[
i
],
y
[
i
]);
45
return
r;
46
}
47
48
int
NBins
;
49
float
RMax
;
50
float
iD
;
51
52
}
_fvecalignment
;
53
54
#endif
L1MaterialInfo::RadThick
fvec RadThick
Definition:
L1MaterialInfo.h:11
F32vec4
Definition:
L1/vectors/P4_F32vec4.h:47
L1Material::iD
float iD
Definition:
L1MaterialInfo.h:50
i
int i
Definition:
L1/vectors/P4_F32vec4.h:25
L1Material::NBins
int NBins
Definition:
L1MaterialInfo.h:48
L1MaterialInfo
Definition:
L1MaterialInfo.h:7
L1Material
Definition:
L1MaterialInfo.h:14
L1MaterialInfo::logRadThick
fvec logRadThick
Definition:
L1MaterialInfo.h:11
L1MaterialInfo::L1MaterialInfo
L1MaterialInfo()
Definition:
L1MaterialInfo.h:9
L1Material::SetBins
void SetBins(int n, float r)
Definition:
L1MaterialInfo.h:24
fvecLen
const int fvecLen
Definition:
L1/vectors/P4_F32vec4.h:251
L1Material::GetRadThick
float GetRadThick(float x, float y)
Definition:
L1MaterialInfo.h:30
L1MaterialInfo::RL
fvec RL
Definition:
L1MaterialInfo.h:11
L1Material::L1Material
L1Material()
Definition:
L1MaterialInfo.h:16
_fvecalignment
class L1MaterialInfo _fvecalignment
L1Material::table
std::vector< std::vector< float > > table
Definition:
L1MaterialInfo.h:16
L1Material::GetRadThick
fvec GetRadThick(fvec x, fvec y)
Definition:
L1MaterialInfo.h:41
L1Material::RMax
float RMax
Definition:
L1MaterialInfo.h:49
x
Double_t x
Definition:
CbmMvdSensorDigiToHitTask.cxx:68
L1MaterialInfo::thick
fvec thick
Definition:
L1MaterialInfo.h:9
y
Double_t y
Definition:
CbmMvdSensorDigiToHitTask.cxx:68
reco
L1
L1Algo
L1MaterialInfo.h
Generated on Wed Oct 28 2020 15:11:49 for CbmRoot by
1.8.18