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
EICG4LumiSteppingAction.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EICG4LumiSteppingAction.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef EICG4LUMISTEPPINGACTION_H
4
#define EICG4LUMISTEPPINGACTION_H
5
6
#include <
g4main/PHG4SteppingAction.h
>
7
#include <string>
8
9
#include <Geant4/G4TouchableHandle.hh>
10
#include <Geant4/G4StepPoint.hh>
11
12
13
class
EICG4LumiDetector
;
14
class
EICG4LumiSubsystem
;
15
16
class
G4Step;
17
class
G4VPhysicalVolume;
18
class
PHCompositeNode
;
19
class
PHG4Hit
;
20
class
PHG4Shower
;
21
class
PHG4HitContainer
;
22
class
PHParameters
;
23
24
class
EICG4LumiSteppingAction
:
public
PHG4SteppingAction
25
{
26
public
:
28
EICG4LumiSteppingAction
(
EICG4LumiSubsystem
*subsys,
EICG4LumiDetector
*,
const
PHParameters
*
parameters
);
29
31
virtual
~EICG4LumiSteppingAction
()
override
;
32
34
virtual
bool
UserSteppingAction
(
const
G4Step*,
bool
)
override
;
35
37
virtual
void
SetInterfacePointers
(
PHCompositeNode
*)
override
;
38
39
virtual
void
SaveLightYield
(
const
int
i = 1) {
m_SaveLightYieldFlag
= i;}
40
virtual
bool
hasMotherSubsystem
()
const
;
41
virtual
void
SaveAllHits
(
bool
i =
true
){
m_SaveAllHitsFlag
= i;}
42
virtual
void
HitNodeNameCAL
(
const
std::string &
name
) {
m_HitNodeNameCAL
=
name
;}
43
virtual
void
HitNodeNameTracking
(
const
std::string &
name
) {
m_HitNodeNameTracking
=
name
;}
44
virtual
void
HitNodeNameVirt
(
const
std::string &
name
) {
m_HitNodeNameVirt
=
name
;}
45
46
private
:
47
48
int
FindTowerIndexFromPosition
(G4StepPoint* prePoint,
int
& j,
int
&
k
);
49
51
EICG4LumiSubsystem
*
m_Subsystem
;
52
54
EICG4LumiDetector
*
m_Detector
;
55
const
PHParameters
*
m_Params
;
57
PHG4HitContainer
*
m_HitContainerCAL
;
58
PHG4HitContainer
*
m_HitContainerTracking
;
59
PHG4HitContainer
*
m_HitContainerVirt
;
60
PHG4Hit
*
m_Hit
;
61
PHG4Shower
*
m_SaveShower
;
62
G4VPhysicalVolume*
m_SaveVolPre
;
63
G4VPhysicalVolume*
m_SaveVolPost
;
64
65
bool
m_SaveAllHitsFlag
=
false
;
66
int
m_SaveLightYieldFlag
;
67
int
m_SaveTrackId
;
68
int
m_SavePreStepStatus
;
69
int
m_SavePostStepStatus
;
70
int
m_ActiveFlag
;
71
int
m_BlackHoleFlag
;
72
int
m_UseG4StepsFlag
;
73
double
m_Zmin
;
74
double
m_Zmax
;
75
double
m_Tmin
;
76
double
m_Tmax
;
77
double
m_EdepSum
;
78
double
m_EabsSum
;
79
double
m_EionSum
;
80
std::string
m_HitNodeNameCAL
;
81
std::string
m_HitNodeNameTracking
;
82
std::string
m_HitNodeNameVirt
;
83
84
};
85
86
#endif // EICG4LUMISTEPPINGACTION_H
fun4all_eicdetectors
blob
master
simulation
g4simulation
g4lumi
EICG4LumiSteppingAction.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:53
using
1.8.2 with
EIC GitHub integration