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
QAG4SimulationCalorimeter.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file QAG4SimulationCalorimeter.h
1
#ifndef QA_QAG4SIMULATIONCALORIMETER_H
2
#define QA_QAG4SIMULATIONCALORIMETER_H
3
4
#include <
fun4all/SubsysReco.h
>
5
6
#include <cstdint>
7
#include <memory>
8
#include <string>
9
10
class
CaloEvalStack
;
11
class
PHCompositeNode
;
12
class
PHG4HitContainer
;
13
class
PHG4TruthInfoContainer
;
14
16
class
QAG4SimulationCalorimeter
:
public
SubsysReco
17
{
18
public
:
19
enum
enu_flags
20
{
21
kProcessG4Hit
= 1 << 1,
22
kProcessTower
= 1 << 2,
23
kProcessCluster
= 1 << 3,
24
25
kDefaultFlag
=
kProcessG4Hit
|
kProcessTower
|
kProcessCluster
26
};
27
28
QAG4SimulationCalorimeter
(
const
std::string &calo_name,
enu_flags
flags =
29
kDefaultFlag
);
30
virtual
~QAG4SimulationCalorimeter
() {}
31
32
int
Init
(
PHCompositeNode
*topNode);
33
int
InitRun
(
PHCompositeNode
*topNode);
34
int
process_event
(
PHCompositeNode
*topNode);
35
36
uint32_t
37
get_flags
()
const
38
{
39
return
_flags
;
40
}
41
42
void
43
set_flags
(
enu_flags
flags)
44
{
45
_flags
= (uint32_t) flags;
46
}
47
48
void
49
set_flag
(
enu_flags
flag
)
50
{
51
_flags
|= (uint32_t) flag;
52
}
53
54
bool
55
flag
(
enu_flags
flag
)
56
{
57
return
_flags
&
flag
;
58
}
59
60
void
61
reset_flag
(
enu_flags
flag
)
62
{
63
_flags
&= ~(uint32_t) flag;
64
}
65
67
std::string
68
get_histo_prefix
();
69
70
private
:
71
int
Init_G4Hit
(
PHCompositeNode
*topNode);
72
int
process_event_G4Hit
(
PHCompositeNode
*topNode);
73
74
int
Init_Tower
(
PHCompositeNode
*topNode);
75
int
process_event_Tower
(
PHCompositeNode
*topNode);
76
77
int
Init_Cluster
(
PHCompositeNode
*topNode);
78
int
process_event_Cluster
(
PHCompositeNode
*topNode);
79
80
std::shared_ptr<CaloEvalStack>
_caloevalstack
;
81
82
std::string
_calo_name
;
83
uint32_t
_flags
;
84
85
PHG4HitContainer
*
_calo_hit_container
;
86
PHG4HitContainer
*
_calo_abs_hit_container
;
87
PHG4TruthInfoContainer
*
_truth_container
;
88
};
89
90
#endif // QA_QAG4SIMULATIONCALORIMETER_H
coresoftware
blob
master
offline
QA
modules
QAG4SimulationCalorimeter.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:39
using
1.8.2 with
ECCE GitHub integration