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
G4_RICH.C
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4_RICH.C
1
8
#ifndef MACRO_G4RICH_C
9
#define MACRO_G4RICH_C
10
11
#include <GlobalVariables.C>
12
13
#include <
g4rich/PHG4RICHSubsystem.h
>
14
15
#include <
g4main/PHG4Reco.h
>
16
17
R__LOAD_LIBRARY
(libg4rich.so)
18
19
namespace Enable
20
{
21
bool
RICH
=
false
;
22
}
23
24
void
RICHInit
()
25
{
26
BlackHoleGeometry::max_radius
=
std::max
(
BlackHoleGeometry::max_radius
, 135.);
27
BlackHoleGeometry::max_z
=
std::max
(
BlackHoleGeometry::max_z
, 268.);
28
}
29
34
void
RICHSetup
(
PHG4Reco
* g4Reco,
//
35
const
int
N_RICH_Sector = 8,
//
36
const
double
min_eta = 1.3,
//
37
const
double
R_mirror_ref = 190,
//cm // Reduced from 195 (2014 LOI) -> 190 to avoid overlap with FGEM4 (it seems to fit fine in the AutoCAD drawing- is the RICH longer in Geant4 than in the AutoCAD drawing?)
38
const
double
z_shift
= 75,
// cm
39
const
double
R_shift = 18.5,
// cm
40
const
double
R_beampipe_front = 8,
// clearance for EIC beam pipe flange
41
const
double
R_beampipe_back = 27
// clearance for EIC beam pipe flange
42
)
43
{
44
/* Use dedicated RICH subsystem */
45
PHG4RICHSubsystem
*
rich
=
new
PHG4RICHSubsystem
(
"RICH"
);
46
rich->
get_RICH_geometry
().
set_N_RICH_Sector
(N_RICH_Sector);
47
rich->
get_RICH_geometry
().
set_min_eta
(min_eta);
48
49
// rich->get_RICH_geometry().set_R_shift(10 * ePHENIXRICH::RICH_Geometry::Unit_cm()); // For compact RICH of 2<Eta<4
50
51
rich->
get_RICH_geometry
().
set_R_mirror_ref
(R_mirror_ref *
ePHENIXRICH::RICH_Geometry::Unit_cm
());
52
53
rich->
get_RICH_geometry
().
set_z_shift
(
z_shift
*
ePHENIXRICH::RICH_Geometry::Unit_cm
());
54
rich->
get_RICH_geometry
().
set_R_shift
(R_shift *
ePHENIXRICH::RICH_Geometry::Unit_cm
());
55
56
rich->
get_RICH_geometry
().
set_R_beam_pipe_front
(R_beampipe_front *
ePHENIXRICH::RICH_Geometry::Unit_cm
());
57
rich->
get_RICH_geometry
().
set_R_beam_pipe_back
(R_beampipe_back *
ePHENIXRICH::RICH_Geometry::Unit_cm
());
58
59
rich->
OverlapCheck
(
Enable::OVERLAPCHECK
);
60
61
/* Register RICH module */
62
g4Reco->
registerSubsystem
(rich);
63
}
64
#endif
fun4all_eicmacros
blob
master
common
G4_RICH.C
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:53
using
1.8.2 with
EIC GitHub integration