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
EICG4RPSubsystem.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EICG4RPSubsystem.h
1
// Tell emacs that this is a C++ source
2
// -*- C++ -*-.
3
#ifndef EICG4RPSUBSYSTEM_H
4
#define EICG4RPSUBSYSTEM_H
5
6
#include <
g4detectors/PHG4DetectorSubsystem.h
>
7
8
class
PHCompositeNode
;
9
class
PHG4Detector
;
10
class
EICG4RPDetector
;
11
class
PHG4SteppingAction
;
12
23
class
EICG4RPSubsystem
:
public
PHG4DetectorSubsystem
24
{
25
public
:
27
EICG4RPSubsystem
(
const
std::string&
name
=
"EICG4RP"
,
const
int
layer
= 0);
28
30
virtual
~EICG4RPSubsystem
() {}
31
35
int
InitRunSubsystem
(
PHCompositeNode
*)
override
;
36
38
42
int
process_event
(
PHCompositeNode
*)
override
;
43
45
PHG4Detector
*
GetDetector
()
const override
;
46
47
PHG4SteppingAction
*
GetSteppingAction
()
const override
{
return
m_SteppingAction
; }
49
void
Print
(
const
std::string& what =
"ALL"
)
const override
;
50
51
bool
CanBeMotherSubsystem
()
const override
{
return
true
; }
52
53
void
SaveAllHits
(
bool
i =
true
) {
m_SaveAllHitsFlag
= i; }
54
55
void
SetParametersFromFile
( std::string
filename
);
56
void
SetBeamConfig
( std::string val ) {
m_beamProfile
= val; }
57
void
SetIonBeamEnergy
(
double
val ) {
m_ionE
= val; }
58
void
SetElectronBeamEnergy
(
double
val ) {
m_elecE
= val; }
59
60
protected
:
61
// \brief Set default parameter values
62
void
SetDefaultParameters
()
override
;
63
64
private
:
66
67
EICG4RPDetector
*
m_Detector
;
68
70
71
PHG4SteppingAction
*
m_SteppingAction
;
72
73
bool
m_SaveAllHitsFlag
=
false
;
74
75
std::string
m_beamProfile
;
76
double
m_ionE
;
77
double
m_elecE
;
78
};
79
80
#endif // EICG4RPSUBSYSTEM_H
fun4all_eicdetectors
blob
master
simulation
g4simulation
g4rp
EICG4RPSubsystem.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:53
using
1.8.2 with
EIC GitHub integration