@@ -221,6 +221,55 @@ void Detector::buildFT3V1()
221221 }
222222}
223223
224+ // _________________________________________________________________________________________________
225+ void Detector::buildFT3V3b ()
226+ {
227+ // Build FT3 detector according to
228+ // https://www.overleaf.com/project/6051acc870e39aaeb4653621
229+
230+ LOG (info) << " Building FT3 Detector: V3b" ;
231+
232+ mNumberOfLayers = 12 ;
233+ Float_t sensorThickness = 30 .e -4 ;
234+ Float_t layersx2X0 = 1 .e -2 ;
235+ std::vector<std::array<Float_t, 5 >> layersConfig{
236+ {26 ., .5 , 3 ., 0 .1f * layersx2X0}, // {z_layer, r_in, r_out, Layerx2X0}
237+ {30 ., .5 , 3 ., 0 .1f * layersx2X0},
238+ {34 ., .5 , 3 ., 0 .1f * layersx2X0},
239+ {77 ., 5.0 , 35 ., layersx2X0},
240+ {100 ., 5.0 , 35 ., layersx2X0},
241+ {122 ., 5.0 , 35 ., layersx2X0},
242+ {150 ., 5.5 , 80 .f , layersx2X0},
243+ {180 ., 6.6 , 80 .f , layersx2X0},
244+ {220 ., 8.1 , 80 .f , layersx2X0},
245+ {279 ., 10.2 , 80 .f , layersx2X0},
246+ {340 ., 12.5 , 80 .f , layersx2X0},
247+ {400 ., 14.7 , 80 .f , layersx2X0}};
248+
249+ mLayerName .resize (2 );
250+ mLayerName [0 ].resize (mNumberOfLayers );
251+ mLayerName [1 ].resize (mNumberOfLayers );
252+ mLayerID .clear ();
253+ mLayers .resize (2 );
254+
255+ for (auto direction : {0 , 1 }) {
256+ for (int layerNumber = 0 ; layerNumber < mNumberOfLayers ; layerNumber++) {
257+ std::string directionName = std::to_string (direction);
258+ std::string layerName = GeometryTGeo::getFT3LayerPattern () + directionName + std::string (" _" ) + std::to_string (layerNumber);
259+ mLayerName [direction][layerNumber] = layerName;
260+ auto & z = layersConfig[layerNumber][0 ];
261+
262+ auto & rIn = layersConfig[layerNumber][1 ];
263+ auto & rOut = layersConfig[layerNumber][2 ];
264+ auto & x0 = layersConfig[layerNumber][3 ];
265+
266+ LOG (info) << " Adding Layer " << layerName << " at z = " << z;
267+ // Add layers
268+ auto & thisLayer = mLayers [direction].emplace_back (direction, layerNumber, layerName, z, rIn, rOut, x0);
269+ }
270+ }
271+ }
272+
224273// _________________________________________________________________________________________________
225274Detector::Detector (Bool_t active)
226275 : o2::base::DetImpl<Detector>(" FT3" , active),
@@ -238,7 +287,7 @@ Detector::Detector(Bool_t active)
238287 } else {
239288 switch (ft3BaseParam.geoModel ) {
240289 case Default:
241- buildFT3V1 (); // FT3V1
290+ buildFT3V3b (); // FT3V3b
242291 break ;
243292 case Telescope:
244293 buildBasicFT3 (ft3BaseParam); // BasicFT3 = Parametrized telescopic detector (equidistant layers)
0 commit comments