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