ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
RawTowerZDCv1.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file RawTowerZDCv1.h
1
#ifndef EICZDCBASE_RAWTOWERV1_H
2
#define EICZDCBASE_RAWTOWERV1_H
3
4
#include "
RawTowerZDC.h
"
5
6
#include "
RawTowerZDCDefs.h
"
7
8
#include <cstddef>
9
#include <iostream>
10
#include <map>
11
#include <utility>
12
13
class
RawTowerZDCv1
:
public
RawTowerZDC
14
{
15
public
:
16
RawTowerZDCv1
(){}
17
RawTowerZDCv1
(
const
RawTowerZDC
& tower);
18
RawTowerZDCv1
(
RawTowerZDCDefs::keytype
id
);
19
~RawTowerZDCv1
()
override
{}
20
21
void
Reset
()
override
;
22
int
isValid
()
const override
;
23
void
identify
(std::ostream& os = std::cout)
const override
;
24
25
void
set_id
(
RawTowerZDCDefs::keytype
id
)
override
{
towerid
= id; }
26
RawTowerZDCDefs::keytype
get_id
()
const override
{
return
towerid
; }
27
int
get_bineta
()
const override
;
28
int
get_binphi
()
const override
;
29
int
get_binl
()
const override
;
30
31
double
get_energy
()
const override
{
return
energy
; }
32
void
set_energy
(
const
double
e
)
override
{
energy
=
e
; }
33
float
get_time
()
const override
{
return
time
; }
34
void
set_time
(
const
float
t
)
override
{
time
=
t
; }
35
36
//---cell access--------------------------------------------------------------
37
38
bool
empty_g4cells
()
const override
{
return
ecells
.empty(); }
39
size_t
size_g4cells
()
const override
{
return
ecells
.size(); }
40
RawTowerZDC::CellConstRange
get_g4cells
()
const override
41
{
42
return
make_pair(
ecells
.begin(),
ecells
.end());
43
}
44
RawTowerZDC::CellIterator
find_g4cell
(
CellKeyType
id
)
override
{
return
ecells
.find(
id
); }
45
RawTowerZDC::CellConstIterator
find_g4cell
(
CellKeyType
id
)
const override
{
return
ecells
.find(
id
); }
46
void
add_ecell
(
const
CellKeyType
g4cellid,
47
const
float
ecell)
override
;
48
void
clear_g4cells
()
override
{
ecells
.clear(); }
49
50
//---shower access------------------------------------------------------------
51
52
bool
empty_g4showers
()
const override
{
return
eshowers
.empty(); }
53
size_t
size_g4showers
()
const override
{
return
eshowers
.size(); }
54
RawTowerZDC::ShowerConstRange
get_g4showers
()
const override
55
{
56
return
make_pair(
eshowers
.begin(),
eshowers
.end());
57
}
58
RawTowerZDC::ShowerIterator
find_g4shower
(
int
id
)
override
{
return
eshowers
.find(
id
); }
59
RawTowerZDC::ShowerConstIterator
find_g4shower
(
int
id
)
const override
{
return
eshowers
.find(
id
); }
60
void
add_eshower
(
const
int
g4showerid,
const
float
eshower)
override
;
61
void
clear_g4showers
()
override
{
eshowers
.clear(); }
62
63
protected
:
64
RawTowerZDCDefs::keytype
towerid
= ~0;
65
68
double
energy
= 0.;
71
float
time
= NAN;
72
73
CellMap
ecells
;
//< default truth storage
74
ShowerMap
eshowers
;
//< alternate truth storage for smaller filesizes
75
76
ClassDefOverride(
RawTowerZDCv1
, 1)
77
};
78
79
#endif
fun4all_eicdetectors
blob
master
reconstruction
eiczdcbase
RawTowerZDCv1.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:46
using
1.8.2 with
ECCE GitHub integration