BmnRoot
26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
L1HitPoint.h
Go to the documentation of this file.
1
#ifndef _L1HitPoint_h_
2
#define _L1HitPoint_h_
3
4
#include "
CbmL1Def.h
"
5
6
/// contain strips positions and coordinates of hit
7
#if 1
8
struct
L1HitPoint
9
{
10
L1HitPoint
()
11
:
x
(0.)
12
,
y
(0.)
13
,
z
(0.)
14
,
u
(0.)
15
,
v
(0.)
16
,
du
(0.)
17
,
dv
(0.)
18
,
n
(0) {};
19
L1HitPoint
(
fscal
x_,
20
fscal
y_,
21
fscal
z_,
22
fscal
v_,
23
fscal
u_,
24
fscal
dv_ = 0.0,
25
fscal
du_ = 0.0,
26
unsigned
short
int
n_ = 0)
27
:
x
(x_)
28
,
y
(y_)
29
,
z
(z_)
30
,
u
(u_)
31
,
v
(v_)
32
,
du
(du_)
33
,
dv
(dv_)
34
,
n
(n_) {};
35
36
fscal
Xs
()
const
{
return
X
() /
Z
(); }
37
fscal
Ys
()
const
{
return
Y
() /
Z
(); }
// value to sort hits by
38
39
fscal
X
()
const
{
return
x
; }
40
fscal
Y
()
const
{
return
y
; }
41
fscal
Z
()
const
{
return
z
; }
42
fscal
U
()
const
{
return
u
; }
43
fscal
V
()
const
{
return
v
; }
44
fscal
DU
()
const
{
return
du
; }
45
fscal
DV
()
const
{
return
dv
; }
46
47
unsigned
short
int
N
()
const
{
return
n
; }
48
49
private
:
50
float
x
,
y
;
51
float
z
;
// TODO: may be we should use iz
52
float
u
,
v
;
// x\u, v - front and back strips; x, y, z - coordinates of hits
53
float
du
,
dv
;
// du, dv - front and back coordinate errors
54
55
unsigned
short
int
n
;
// number of event
56
};
57
#else
58
59
static
const
float
R = 60;
60
static
const
float
shortPackingConstant = 2 * R / 65535.f;
61
static
const
float
MZ = 110;
62
static
const
float
shortPackingConstantZ = MZ / 65535.f;
63
64
/// contain strips positions and coordinates of hit
65
struct
L1HitPoint
66
{
67
L1HitPoint
() {};
68
L1HitPoint
(
fscal
x_,
fscal
y_,
fscal
z_,
fscal
v_,
fscal
u_,
unsigned
short
int
n_ = 0)
69
:
x
(f2s(x_))
70
,
y
(f2s(y_))
71
,
z
(f2sZ(z_))
72
,
u
(f2s(u_))
73
,
v
(f2s(v_))
74
,
n
(n_) {};
75
76
fscal
Xs
()
const
{
return
X
() /
Z
(); }
77
fscal
Ys
()
const
{
return
Y
() /
Z
(); }
// value to sort hits by
78
79
fscal
X
()
const
{
return
s2f(
x
); }
80
fscal
Y
()
const
{
return
s2f(
y
); }
81
fscal
Z
()
const
{
return
s2fZ(
z
); }
82
fscal
U
()
const
{
return
s2f(
u
); }
83
fscal
V
()
const
{
return
s2f(
v
); }
84
85
unsigned
short
int
N
()
const
{
return
n
; }
86
87
private
:
88
// unsigned short int
89
unsigned
short
int
f2s(
float
f)
const
{
return
(f + R) / shortPackingConstant; }
90
float
s2f(
unsigned
short
int
f)
const
{
return
(
float
(f) + 0.5) * shortPackingConstant -
R
; }
91
92
unsigned
short
int
f2sZ(
float
f)
const
{
return
(f) / shortPackingConstantZ; }
93
float
s2fZ(
unsigned
short
int
f)
const
{
return
(
float
(f) + 0.5) * shortPackingConstantZ; }
94
95
unsigned
short
int
x
,
y
;
96
unsigned
short
int
z
;
// TODO: may be we should use iz
97
unsigned
short
int
u
,
v
;
// x\u, v - front and back strips; x, y, z - coordinates of hits
98
99
unsigned
short
int
n
;
// number of event
100
};
101
102
#endif
103
104
#endif
CbmL1Def.h
fscal
float fscal
Definition
P4_F32vec4.h:232
TMath::R
constexpr Double_t R()
L1HitPoint
contain strips positions and coordinates of hit
Definition
L1HitPoint.h:9
L1HitPoint::x
float x
Definition
L1HitPoint.h:50
L1HitPoint::Ys
fscal Ys() const
Definition
L1HitPoint.h:37
L1HitPoint::V
fscal V() const
Definition
L1HitPoint.h:43
L1HitPoint::DU
fscal DU() const
Definition
L1HitPoint.h:44
L1HitPoint::U
fscal U() const
Definition
L1HitPoint.h:42
L1HitPoint::Xs
fscal Xs() const
Definition
L1HitPoint.h:36
L1HitPoint::y
float y
Definition
L1HitPoint.h:50
L1HitPoint::n
unsigned short int n
Definition
L1HitPoint.h:55
L1HitPoint::Z
fscal Z() const
Definition
L1HitPoint.h:41
L1HitPoint::du
float du
Definition
L1HitPoint.h:53
L1HitPoint::N
unsigned short int N() const
Definition
L1HitPoint.h:47
L1HitPoint::Y
fscal Y() const
Definition
L1HitPoint.h:40
L1HitPoint::X
fscal X() const
Definition
L1HitPoint.h:39
L1HitPoint::z
float z
Definition
L1HitPoint.h:51
L1HitPoint::dv
float dv
Definition
L1HitPoint.h:53
L1HitPoint::u
float u
Definition
L1HitPoint.h:52
L1HitPoint::L1HitPoint
L1HitPoint(fscal x_, fscal y_, fscal z_, fscal v_, fscal u_, fscal dv_=0.0, fscal du_=0.0, unsigned short int n_=0)
Definition
L1HitPoint.h:19
L1HitPoint::DV
fscal DV() const
Definition
L1HitPoint.h:45
L1HitPoint::L1HitPoint
L1HitPoint()
Definition
L1HitPoint.h:10
L1HitPoint::v
float v
Definition
L1HitPoint.h:52
reconstruction
cat
L1Algo
L1HitPoint.h
Generated on
for BmnRoot by
1.17.0