BmnRoot
26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Toggle main menu visibility
Loading...
Searching...
No Matches
BmnHodoEvent.cxx
Go to the documentation of this file.
1
#include "
BmnHodoEvent.h
"
2
3
#include <algorithm>
4
5
BmnHodoEvent::BmnHodoEvent
()
6
:
TNamed
()
7
,
fTotalSignal
(0.f)
8
,
fTotalSignalIntegral
(0.f)
9
,
fPileUpStatus
(
BmnHodoStrip
::PileUp::No)
10
,
fStrips
(new
TClonesArray
(
"BmnHodoStrip"
))
11
{}
12
13
BmnHodoEvent::~BmnHodoEvent
()
14
{
15
if
(
fStrips
) {
16
fStrips
->Delete();
17
delete
fStrips
;
18
fStrips
=
nullptr
;
19
}
20
}
21
22
BmnHodoStrip
*
BmnHodoEvent::AddStrip
(uint8_t strip_id)
23
{
24
int
idx =
fStrips
->GetEntriesFast();
25
auto
* strip =
new
((*fStrips)[idx])
BmnHodoStrip
();
26
strip->
SetStripId
(strip_id);
27
return
strip;
28
}
29
30
BmnHodoStrip
*
BmnHodoEvent::GetStrip
(uint8_t strip_id)
31
{
32
for
(
int
i
= 0,
n
=
fStrips
->GetEntriesFast();
i
<
n
; ++
i
) {
33
auto
* s =
static_cast<
BmnHodoStrip
*
>
(
fStrips
->At(
i
));
34
if
(s && s->GetStripId() == strip_id)
35
return
s;
36
}
37
return
nullptr
;
38
}
39
40
BmnHodoStrip
*
BmnHodoEvent::GetOrAddStrip
(uint8_t strip_id)
41
{
42
auto
* s =
GetStrip
(strip_id);
43
return
s ? s :
AddStrip
(strip_id);
44
}
45
46
void
BmnHodoEvent::reset
()
47
{
48
fTotalSignal
= 0.f;
49
fTotalSignalIntegral
= 0.f;
50
fPileUpStatus
=
BmnHodoStrip::PileUp::No
;
51
fStrips
->Clear(
"C"
);
// destroys objects
52
}
53
54
void
BmnHodoEvent::ResetStrips
()
55
{
56
fTotalSignal
= 0.f;
57
fTotalSignalIntegral
= 0.f;
58
fPileUpStatus
=
BmnHodoStrip::PileUp::No
;
59
60
for
(
int
i
= 0,
n
=
fStrips
->GetEntriesFast();
i
<
n
; ++
i
) {
61
auto
* strip =
static_cast<
BmnHodoStrip
*
>
(
fStrips
->At(
i
));
62
if
(!strip)
63
continue
;
64
65
strip->
clear
();
66
}
67
}
68
69
void
BmnHodoEvent::SummarizeEvent
()
70
{
71
fTotalSignal
= 0.f;
72
fTotalSignalIntegral
= 0.f;
73
fPileUpStatus
=
BmnHodoStrip::PileUp::No
;
74
75
for
(
int
i
= 0,
n
=
fStrips
->GetEntriesFast();
i
<
n
; ++
i
) {
76
auto
* strip =
static_cast<
BmnHodoStrip
*
>
(
fStrips
->At(
i
));
77
if
(!strip)
78
continue
;
79
80
fTotalSignal
+= strip->GetSignal();
81
fTotalSignalIntegral
+= strip->GetIntegral();
82
fPileUpStatus
= std::max(
fPileUpStatus
, strip->GetPileUpStatus());
83
}
84
}
85
86
void
BmnHodoEvent::Print
(
Option_t
* option)
const
{}
i
int i
Definition
P4_F32vec4.h:22
Option_t
const char Option_t
BmnHodoEvent::fTotalSignal
float fTotalSignal
Definition
BmnHodoEvent.h:33
BmnHodoEvent::SummarizeEvent
void SummarizeEvent()
Definition
BmnHodoEvent.cxx:69
BmnHodoEvent::fStrips
TClonesArray * fStrips
Definition
BmnHodoEvent.h:36
BmnHodoEvent::AddStrip
BmnHodoStrip * AddStrip(uint8_t strip_id)
Definition
BmnHodoEvent.cxx:22
BmnHodoEvent::fTotalSignalIntegral
float fTotalSignalIntegral
Definition
BmnHodoEvent.h:34
BmnHodoEvent::BmnHodoEvent
BmnHodoEvent()
Definition
BmnHodoEvent.cxx:5
BmnHodoEvent::~BmnHodoEvent
virtual ~BmnHodoEvent()
Definition
BmnHodoEvent.cxx:13
BmnHodoEvent::fPileUpStatus
BmnHodoStrip::PileUp fPileUpStatus
Definition
BmnHodoEvent.h:35
BmnHodoEvent::GetStrip
BmnHodoStrip * GetStrip(uint8_t strip_id)
Definition
BmnHodoEvent.cxx:30
BmnHodoEvent::reset
void reset()
Definition
BmnHodoEvent.cxx:46
BmnHodoEvent::Print
virtual void Print(Option_t *option="") const
Definition
BmnHodoEvent.cxx:86
BmnHodoEvent::ResetStrips
void ResetStrips()
Definition
BmnHodoEvent.cxx:54
BmnHodoEvent::GetOrAddStrip
BmnHodoStrip * GetOrAddStrip(uint8_t strip_id)
Definition
BmnHodoEvent.cxx:40
BmnHodoStrip
Definition
BmnHodoStrip.h:12
BmnHodoStrip::clear
void clear()
Definition
BmnHodoStrip.cxx:72
BmnHodoStrip::PileUp::No
@ No
Definition
BmnHodoStrip.h:16
BmnHodoStrip::SetStripId
void SetStripId(int stripId)
Definition
BmnHodoStrip.h:37
TNamed::TNamed
TNamed()
TObject::TClonesArray
friend friend class TClonesArray
BmnHodoEvent.h
n
*brief user defined string literal for JSON values *sa std::size_t n
Definition
json.hpp:20362
detectors
hodo
BmnHodoEvent.cxx
Generated on
for BmnRoot by
1.17.0