@@ -149,99 +149,32 @@ class Detector : public o2::base::DetImpl<Detector>
149149 std::vector<Double_t> mRindexFrontWindow ;
150150
151151 // Define the aluminium frame for the detector
152- TGeoVolume* constructFrameGeometry ();
153- std::string frame1CompositeShapeBoolean ();
154- std::string frame2CompositeShapeBoolean ();
155- std::string frameCompositeShapeBoolean ();
156- std::string plateGroupCompositeShapeBoolean ();
157- std::string opticalFiberPlateCompositeShapeBoolean1 ();
158- std::string opticalFiberPlateCompositeShapeBoolean2 ();
159- std::string pmtCornerCompositeShapeBoolean ();
160- std::string pmtCompositeShapeBoolean ();
161- std::string plateBoxCompositeShapeBoolean ();
162- void defineTransformations ();
163- void defineQuartzRadiatorTransformations ();
164- void definePmtTransformations ();
165- void definePlateTransformations ();
166- void defineFrameTransformations ();
167-
152+ TGeoVolume* constructFrameAGeometry (); // A-side
153+ TGeoVolume* constructFrameCGeometry (); // C-side
154+ std::string cPlateShapeString ();
155+
168156 // BEGIN: Support structure constants
169157 // define some error to avoid overlaps
170158 static constexpr Float_t sEps = 0.05 ;
171- // offset found to potentially remove overlaps
172- static constexpr Float_t sXoffset = 0.3027999999999995 ;
173- static constexpr Float_t sYoffset = -0.6570999999999998 ;
174-
175- // frame 1 has a longer side horizontal
176- static constexpr Float_t sFrame1X = 21.500 ;
177- static constexpr Float_t sFrame1Y = 13.705 ;
178- static constexpr Float_t sFrame1PosX = 7.9278 - sXoffset ;
179- static constexpr Float_t sFrame1PosY = 9.2454 - sYoffset ;
180- static constexpr Float_t sRect1X = 15 ;
181- static constexpr Float_t sRect1Y = 1.33 ;
182- static constexpr Float_t sRect2X = 2.9 ;
183- static constexpr Float_t sRect2Y = 12.2 ;
184- static constexpr Float_t sRect3X = 1.57 ;
185- static constexpr Float_t sRect3Y = .175 ;
186- static constexpr Float_t sRect4X = 5.65 ;
187- static constexpr Float_t sRect4Y = 1.075 ;
188- // frame 2 has a longer side vertical
189- static constexpr Float_t sFrame2X = 13.930 ;
190- static constexpr Float_t sFrame2Y = 21.475 ;
191- static constexpr Float_t sFrame2PosX = 10.1428 - sXoffset ;
192- static constexpr Float_t sFrame2PosY = -8.3446 - sYoffset ;
193- static constexpr Float_t sRect5X = 1.33 ;
194- static constexpr Float_t sRect5Y = 12.1 ;
195-
196- static constexpr Float_t sRect6X = .83 ;
197- static constexpr Float_t sRect6Y = 3.0 ;
198- static constexpr Float_t sRect7X = 13.1 ;
199- static constexpr Float_t sRect7Y = 3.0 ;
200- static constexpr Float_t sRect8X = 1.425 ;
201- static constexpr Float_t sRect8Y = 5.5 ;
202-
203- // both frame boxes are the same height
204159 static constexpr Float_t sFrameZ = 5.700 ;
205- static constexpr Float_t sMountZ = 1.5 ;
206160
207161 // PMT socket dimensions
208162 static constexpr Float_t sPmtSide = 5.950 ;
209163 static constexpr Float_t sPmtZ = 3.750 ;
210164
211165 // quartz radiator socket dimensions
212- // static constexpr Float_t sQuartzRadiatorSide = 5.350;
213- // static constexpr Float_t sQuartzRadiatorZ = 1.950;
214- static constexpr Float_t sQuartzRadiatorSide = 5.40 ;
215- static constexpr Float_t sQuartzRadiatorZ = 2.0 ;
166+ static constexpr Float_t sQuartzRadiatorSide = 5.350 ;
167+ static constexpr Float_t sQuartzRadiatorZ = 1.950 ;
216168 // for the rounded socket corners
217- static constexpr Float_t sCornerRadius = .300 ;
218-
219- // bottom plates on the frame
220- static constexpr Float_t sPlateSide = 6.000 ;
221- static constexpr Float_t sBasicPlateZ = 0.200 ;
222- static constexpr Float_t sCablePlateZ = 0.500 ;
223- static constexpr Float_t sFiberHeadX = 0.675 * 2 ;
224- static constexpr Float_t sFiberHeadY = 0.275 * 2 ;
225-
226- // plate transformations
227- static constexpr Float_t sOpticalFiberPlateZ = 0.35 ;
228- static constexpr Float_t sPlateSpacing = 6.100 ;
229- static constexpr Float_t sPlateDisplacementDeltaY = 1.33 ;
230- static constexpr Float_t sPlateDisplacementX = sPlateSpacing + 0.3028 ;
231- static constexpr Float_t sPlateDisplacementY = 12.8789 - sPlateDisplacementDeltaY ;
232- static constexpr Float_t sPlateGroupZ = -sFrameZ / 2 - sOpticalFiberPlateZ ;
169+ static constexpr Float_t sCornerRadius = 0.300 ;
233170
234171 // quartz & PMT socket transformations
235172 static constexpr Float_t sQuartzHeight = -sFrameZ / 2 + sQuartzRadiatorZ / 2 ;
236173 static constexpr Float_t sPmtHeight = sFrameZ / 2 - sPmtZ / 2 ;
237- static constexpr Float_t sPmtCornerTubePos = -.15 ;
174+ static constexpr Float_t sPmtCornerTubePos = -0 .15 ;
238175 static constexpr Float_t sPmtCornerPos = 2.825 ;
239- static constexpr Float_t sEdgeCornerPos [2 ] = {-6.515 , -.515 };
176+ static constexpr Float_t sEdgeCornerPos [2 ] = {-6.515 , -0 .515 };
240177 static constexpr Float_t sQuartzFrameOffsetX = -1.525 ;
241- static constexpr Float_t sPos1X [3 ] = {sQuartzFrameOffsetX - sPlateSpacing , sQuartzFrameOffsetX , sQuartzFrameOffsetX + sPlateSpacing };
242- static constexpr Float_t sPos1Y [4 ] = {3.6275 , -2.4725 , 2.2975 , -3.8025 };
243- static constexpr Float_t sPos2X [4 ] = {3.69 , -2.410 , 2.360 , -3.740 };
244- static constexpr Float_t sPos2Y [3 ] = {7.6875 , 1.5875 , -4.5125 };
245178 // END: Support structure constants
246179
247180 // / Container for data points
@@ -276,7 +209,7 @@ class Detector : public o2::base::DetImpl<Detector>
276209 Float_t mStartA [3 ] = {20 ., 20 ., 5 };
277210 Float_t mInStart [3 ] = {2.9491 , 2.9491 , 2.6 };
278211
279- ClassDefOverride (Detector, 5 );
212+ ClassDefOverride (Detector, 6 );
280213};
281214
282215// Input and output function for standard C++ input/output.
0 commit comments