EIC Software
Reference for
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
QAG4SimulationEicCalorimeter.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file QAG4SimulationEicCalorimeter.h
1
#ifndef EICQA_QAG4SIMULATIONEICCALORIMETER_H
2
#define EICQA_QAG4SIMULATIONEICCALORIMETER_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
QAG4SimulationEicCalorimeter
:
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
QAG4SimulationEicCalorimeter
(
const
std::string &calo_name,
enu_flags
flags =
29
kDefaultFlag
);
30
virtual
~QAG4SimulationEicCalorimeter
() {}
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_QAG4SIMULATIONEICCALORIMETER_H
fun4all_eic_qa
blob
master
source
QAG4SimulationEicCalorimeter.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:51
using
1.8.2 with
EIC GitHub integration