ECCE @ EIC Software
 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 
14 
15 #include <g4main/PHG4Reco.h>
16 
17 R__LOAD_LIBRARY(libg4detectors.so)
18 
19 namespace Enable
20 {
21  bool RICH = false;
22 }
23 
24 void RICHInit()
25 {
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 
52 
55 
58 
60 
61  /* Register RICH module */
62  g4Reco->registerSubsystem(rich);
63 }
64 #endif