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
EICG4B0SteppingAction.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EICG4B0SteppingAction.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef EICG4B0STEPPINGACTION_H
4
#define EICG4B0STEPPINGACTION_H
5
6
#include <
g4main/PHG4SteppingAction.h
>
7
#include <string>
8
9
#include <Geant4/G4StepPoint.hh>
10
#include <Geant4/G4TouchableHandle.hh>
11
12
class
EICG4B0Detector
;
13
class
EICG4B0Subsystem
;
14
15
class
G4Step
;
16
class
G4VPhysicalVolume
;
17
class
PHCompositeNode
;
18
class
PHG4Hit
;
19
class
PHG4Shower
;
20
class
PHG4HitContainer
;
21
class
PHParameters
;
22
23
class
EICG4B0SteppingAction
:
public
PHG4SteppingAction
24
{
25
public
:
27
EICG4B0SteppingAction
(
EICG4B0Subsystem
* subsys,
EICG4B0Detector
* detector,
const
PHParameters
*
parameters
);
28
30
virtual
~EICG4B0SteppingAction
()
override
;
31
33
virtual
bool
UserSteppingAction
(
const
G4Step
*,
bool
)
override
;
34
36
virtual
void
SetInterfacePointers
(
PHCompositeNode
*)
override
;
37
38
// virtual void SaveLightYield(const int i = 1) { m_SaveLightYieldFlag = i;}
39
40
virtual
bool
hasMotherSubsystem
()
const
;
41
42
virtual
void
SaveAllHits
(
bool
i =
true
) {
m_SaveAllHitsFlag
= i; }
43
44
virtual
void
HitNodeName
(
const
std::string&
name
) {
m_HitNodeName
=
name
; }
45
46
void
SetTowerSize
(
double
twrsze)
47
{
48
_tower_size
= twrsze;
49
}
50
void
SetReadoutSize
(
double
rdosze)
51
{
52
_readout_size
= rdosze;
53
}
54
void
SetDetectorSize
(
double
detsze)
55
{
56
_detector_size
= detsze;
57
}
58
59
private
:
60
int
FindTowerIndexFromPosition
(
G4StepPoint
* prePoint,
int
& j,
int
&
k
);
61
63
EICG4B0Subsystem
*
m_Subsystem
;
64
EICG4B0Detector
*
m_Detector
;
65
66
const
PHParameters
*
m_Params
;
68
PHG4HitContainer
*
m_HitContainer
=
nullptr
;
69
// PHG4HitContainer* m_AbsorberHitContainer=nullptr;
70
PHG4Hit
*
m_Hit
;
71
// PHG4HitContainer* m_SaveHitContainer;
72
PHG4Shower
*
m_SaveShower
;
73
G4VPhysicalVolume
*
m_SaveVolPre
;
74
G4VPhysicalVolume
*
m_SaveVolPost
;
75
76
bool
m_SaveAllHitsFlag
=
false
;
77
// int m_SaveLightYieldFlag;
78
int
m_SaveTrackId
;
79
int
m_SavePreStepStatus
;
80
int
m_SavePostStepStatus
;
81
int
m_ActiveFlag
= 0;
82
int
m_BlackHoleFlag
= 0;
83
int
m_UseG4StepsFlag
;
84
double
m_Zmin
;
85
double
m_Zmax
;
86
double
m_Tmin
;
87
double
m_Tmax
;
88
double
m_EdepSum
;
89
double
m_EabsSum
;
90
double
_towerdivision
;
91
double
_tower_size
;
92
double
_readout_size
;
93
double
_detector_size
;
94
std::string
m_HitNodeName
;
95
};
96
97
#endif // EICG4B0STEPPINGACTION_H
fun4all_eicdetectors
blob
master
simulation
g4simulation
g4b0
EICG4B0SteppingAction.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:46
using
1.8.2 with
ECCE GitHub integration