@@ -20,34 +20,89 @@ namespace o2
2020namespace rich
2121{
2222struct RICHBaseParam : public o2 ::conf::ConfigurableParamHelper<RICHBaseParam> {
23- float zBaseSize = 18.6 ; // cm (18.4 in v3)
24- float rMax = 131.0 ; // cm (117.0 in v3)
25- float rMin = 104.0 ; // cm (90.0 in v3)
26- float radiatorThickness = 2.0 ; // cm
27- float detectorThickness = 0.2 ; // cm
28- float zRichLength = 700.0 ; // cm
23+ double zBaseSize = 18.6 ; // cm (18.4 in v3)
24+ double rMax = 131.0 ; // cm (117.0 in v3)
25+ double rMin = 104.0 ; // cm (90.0 in v3)
26+ double radiatorThickness = 2.0 ; // cm
27+ double zRichLength = 700.0 ; // cm
2928 int nRings = 11 ; // (25 in v3)
3029 int nTiles = 44 ; // (36 in v3)
3130 bool oddGeom = true ; // (false in v3)
31+
32+ // The active and passive silicon thicknesses must sum to detectorThickness.
33+ double siliconeLayerThickness = 0.010 ; // cm: 0.1 mm resin layer in front
34+ double detectorThickness = 0.1 ; // cm
35+ double activeSiliconThickness = 0.01 ; // cm: 0.1 mm sensitive silicon
36+ // double passiveSiliconThickness = 0.09f; // cm: (detectorThickness - activeSiliconThickness)
37+
38+ // cylindrical aerogel layout
39+ bool useCylindricalAerogel = true ;
40+ double cylindricalAerogelEtaRef = 0.85 ;
41+
42+ // Enable geometry with rectangular modules
43+ bool useRectangularModules = true ;
44+
45+ // Barrel photosensor active area.
46+ double sipmActiveSizeZ = 18.0 ; // cm
47+ double sipmActiveSizeRPhi = 17.0 ; // cm
3248
33- // FWD and BWD RICH
34- bool enableFWDRich = false ;
35- bool enableBWDRich = false ;
49+ // Gas refractive index (then scaled with chromaticity)
50+ double nGasEffective = 1.0006 ;
3651
37- float rFWDMin = 13 . 7413f ;
38- float rFWDMax = 103 . 947f ;
52+ // Aerogel refractive index (then scaled with chromaticity)
53+ double nAerogelEffective = 1.03 ;
3954
40- // Aerogel:
41- float zAerogelMin = 375 .f;
42- float zAerogelMax = 377 .f;
55+ // Parameters for geometry with quadrants
56+ bool flagUseQuadrants = false ;
57+ // Opening between adjacent vessel quadrants, measured as a chord at shieldRMin.
58+ double vesselPhiGap = 1.0 ; // cm
59+ // Thickness of each lateral insulating wall at a quadrant boundary.
60+ double vesselThicknessShieldingLateral = 1.0 ; // cm
61+ // Rectangular size could be smaller with quadrants (< 17 cm depending on wall thickness)
62+ double quadrantModuleSizeRPhi = 16.5 ; // cm
4363
44- // Argon:
45- float zArgonMin = 377 .f;
46- float zArgonMax = 407 .f;
64+ // Readout stack behind each SiPM plane, thicknesses along the local outward normal.
65+ double pcb1Thickness = 0.4 ; // cm
66+ double coolingPlateThickness = 0.4 ; // cm
67+ double pcb2Thickness = 0.4 ; // cm
68+ double pcb3Thickness = 0.4 ; // cm
69+ // Surface-to-surface gaps between consecutive layers.
70+ double gapSiPMToPCB1 = 0.10 ; // cm
71+ double gapPCB1ToCoolingPlate = 0.10 ; // cm
72+ double gapCoolingPlateToPCB2 = 0.10 ; // cm
73+ double gapPCB2ToPCB3 = 0.10 ; // cm
74+
75+ // Minimum edge-to-edge clearances used to avoid exact contacts between adjacent modules.
76+ double moduleClearanceZ = 0.02 ; // cm
77+ double moduleClearanceRPhi = 0.02 ; // cm
78+
79+ // Shielding:
80+ // Radial boundaries of the complete cylindrical enclosure.
81+ double shieldRMin = 100.0 ;
82+ double shieldRMax = 136.0 ;
83+ // Radial thickness of the inner insulating wall.
84+ double innerWallThickness = 2.0 ;
85+ // Radial thickness of the outer insulating wall.
86+ double outerWallThickness = 2.0 ;
87+ // Full longitudinal length of the cylindrical side walls.
88+ double shieldLengthZ = 220.0 ;
89+ // Thickness of each insulating end cap along Z.
90+ double endCapThicknessZ = 2.0 ;
4791
92+ // FWD and BWD RICH (legacy)
93+ bool enableFWDRich = false ;
94+ bool enableBWDRich = false ;
95+ double rFWDMin = 13.7413 ;
96+ double rFWDMax = 103.947 ;
97+ // Aerogel:
98+ double zAerogelMin = 375 .;
99+ double zAerogelMax = 377 .;
100+ // Argon:
101+ double zArgonMin = 377 .;
102+ double zArgonMax = 407 .;
48103 // Detector:
49- float zSiliconMin = 407 .f ;
50- float zSiliconMax = 407 .2f ;
104+ double zSiliconMin = 407 .;
105+ double zSiliconMax = 407.2 ;
51106
52107 O2ParamDef (RICHBaseParam, " RICHBase" );
53108};
0 commit comments