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
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
macros
blob
master
common
DisplayOn.C
ECCEStyle.C
ECCEStyle.h
G4_Aerogel.C
G4_AllSilicon.C
G4_B0ECAL.C
G4_B0Tracking_EIC.C
G4_Barrel_EIC.C
G4_Bbc.C
G4_BECAL.C
G4_BlackHole.C
G4_BMMG.C
G4_BToF.C
G4_BWD.C
G4_CEmc_Albedo.C
G4_CEmc_EIC.C
G4_CEmc_Spacal.C
G4_DIRC.C
G4_DRCALO.C
G4_dRICH.C
G4_DSTReader_EICDetector.C
G4_EEMC.C
G4_EEMC_hybrid.C
G4_EHCAL.C
G4_EToF.C
G4_EventEvaluator.C
G4_FEMC.C
G4_FEMC_EIC.C
G4_FHCAL.C
G4_FST_EIC.C
G4_FwdJets.C
G4_GEM_EIC.C
G4_Global.C
G4_HcalIn_ref.C
G4_HcalOut_ref.C
G4_hFarBwdBeamLine_EIC.C
G4_hFarFwdBeamLine_EIC.C
G4_HToF.C
G4_Input.C
G4_Jets.C
G4_KFParticle.C
G4_LFHCAL.C
G4_Magnet.C
G4_Micromegas.C
G4_mRICH.C
G4_mRwell_EIC.C
G4_Mvtx_EIC.C
G4_ParticleFlow.C
G4_Pipe.C
G4_Pipe_EIC.C
G4_Piston.C
G4_PlugDoor.C
G4_PlugDoor_EIC.C
G4_Production.C
G4_PSTOF.C
G4_RICH.C
G4_TopoClusterReco.C
G4_TPC_EIC.C
G4_Tracking_EIC.C
G4_TrackingSupport.C
G4_TRD.C
G4_TTL_EIC.C
G4_User.C
G4_World.C
GlobalVariables.C
QA.C
sPhenixStyle.C
sPhenixStyle.h
detectors
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4_PlugDoor_EIC.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_PlugDoor_EIC.C
1
#ifndef MACRO_G4PLUGDOOREIC_C
2
#define MACRO_G4PLUGDOOREIC_C
3
4
#include <
GlobalVariables.C
>
5
6
#include <
g4detectors/PHG4CylinderSubsystem.h
>
7
8
#include <
g4main/PHG4Reco.h
>
9
10
R__LOAD_LIBRARY
(libg4detectors.so)
11
12
namespace Enable
13
{
14
bool
PLUGDOOR
=
false
;
15
bool
PLUGDOOR_ABSORBER
=
false
;
16
bool
PLUGDOOR_OVERLAPCHECK
=
false
;
17
}
// namespace Enable
18
19
namespace
G4PLUGDOOR
20
{
21
// sPHENIX forward flux return(s)
22
// define via four corners in the engineering drawing
23
double
z_1
= 330.81;
24
double
z_2
= 360.81;
25
double
r_1
= 30;
26
double
r_2
= 263.5;
27
28
double
length
=
z_2
-
z_1
;
29
double
place_z
= -(
z_1
+
z_2
) / 2.;
30
}
// namespace G4PLUGDOOR
31
32
void
PlugDoorInit
()
33
{
34
BlackHoleGeometry::max_radius
=
std::max
(
BlackHoleGeometry::max_radius
,
G4PLUGDOOR::r_2
);
35
BlackHoleGeometry::min_z
=
std::min
(
BlackHoleGeometry::min_z
,
G4PLUGDOOR::place_z
-
G4PLUGDOOR::length
/ 2.);
36
}
37
38
void
PlugDoor
(
PHG4Reco
*g4Reco)
39
{
40
//----------------------------------------
41
bool
OverlapCheck =
Enable::OVERLAPCHECK
||
Enable::PLUGDOOR_OVERLAPCHECK
;
42
const
bool
flux_door_active =
Enable::ABSORBER
||
Enable::PLUGDOOR_ABSORBER
;
43
44
const
string
material
(
"Steel_1006"
);
45
46
PHG4CylinderSubsystem
*flux_return_minus =
new
PHG4CylinderSubsystem
(
"FLUXRET_ETA_MINUS"
, 0);
47
flux_return_minus->
set_double_param
(
"length"
,
G4PLUGDOOR::length
);
48
flux_return_minus->
set_double_param
(
"radius"
,
G4PLUGDOOR::r_1
);
49
flux_return_minus->
set_double_param
(
"place_z"
,
G4PLUGDOOR::place_z
);
50
flux_return_minus->
set_double_param
(
"thickness"
,
G4PLUGDOOR::r_2
-
G4PLUGDOOR::r_1
);
51
flux_return_minus->
set_string_param
(
"material"
, material);
52
flux_return_minus->
SetActive
(flux_door_active);
53
flux_return_minus->
SuperDetector
(
"FLUXRET_ETA_MINUS"
);
54
flux_return_minus->
OverlapCheck
(OverlapCheck);
55
g4Reco->
registerSubsystem
(flux_return_minus);
56
57
return
;
58
}
59
#endif
macros
blob
master
common
G4_PlugDoor_EIC.C
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:58
using
1.8.2 with
ECCE GitHub integration