@@ -346,6 +346,65 @@ void Detector::buildFT3NewVacuumVessel()
346346 }
347347}
348348
349+ void Detector::buildFT3ScopingV3 ()
350+ {
351+ // Build the FT3 detector according to v3 layout
352+ // https://indico.cern.ch/event/1596309/contributions/6728167/attachments/3190117/5677220/2025-12-10-AW-ALICE3planning.pdf
353+ // Middle disks inner radius 10 cm
354+ // Outer disks inner radius 20 cm
355+
356+ LOG (info) << " Building FT3 Detector: v3 scoping version" ;
357+
358+ mNumberOfLayers = 6 ;
359+ float sensorThickness = 30 .e -4 ;
360+ float layersx2X0 = 1 .e -2 ;
361+ std::vector<std::array<float , 5 >> layersConfigCSide{
362+ {77 ., 10.0 , 35 ., layersx2X0}, // {z_layer, r_in, r_out, Layerx2X0}
363+ {100 ., 10.0 , 35 ., layersx2X0},
364+ {122 ., 10.0 , 35 ., layersx2X0},
365+ {150 ., 20.0 , 68 .f , layersx2X0},
366+ {180 ., 20.0 , 68 .f , layersx2X0},
367+ {220 ., 20.0 , 68 .f , layersx2X0}};
368+
369+ std::vector<std::array<float , 5 >> layersConfigASide{
370+ {77 ., 10.0 , 35 ., layersx2X0}, // {z_layer, r_in, r_out, Layerx2X0}
371+ {100 ., 10.0 , 35 ., layersx2X0},
372+ {122 ., 10.0 , 35 ., layersx2X0},
373+ {150 ., 20.0 , 68 .f , layersx2X0},
374+ {180 ., 20.0 , 68 .f , layersx2X0},
375+ {220 ., 20.0 , 68 .f , layersx2X0}};
376+
377+ mLayerName .resize (2 );
378+ mLayerName [0 ].resize (mNumberOfLayers );
379+ mLayerName [1 ].resize (mNumberOfLayers );
380+ mLayerID .clear ();
381+ mLayers .resize (2 );
382+
383+ for (auto direction : {0 , 1 }) {
384+ for (int layerNumber = 0 ; layerNumber < mNumberOfLayers ; layerNumber++) {
385+ std::string directionName = std::to_string (direction);
386+ std::string layerName = GeometryTGeo::getFT3LayerPattern () + directionName + std::string (" _" ) + std::to_string (layerNumber);
387+ mLayerName [direction][layerNumber] = layerName;
388+ float z, rIn, rOut, x0;
389+ if (direction == 0 ) { // C-Side
390+ z = layersConfigCSide[layerNumber][0 ];
391+ rIn = layersConfigCSide[layerNumber][1 ];
392+ rOut = layersConfigCSide[layerNumber][2 ];
393+ x0 = layersConfigCSide[layerNumber][3 ];
394+ } else if (direction == 1 ) { // A-Side
395+ z = layersConfigASide[layerNumber][0 ];
396+ rIn = layersConfigASide[layerNumber][1 ];
397+ rOut = layersConfigASide[layerNumber][2 ];
398+ x0 = layersConfigASide[layerNumber][3 ];
399+ }
400+
401+ LOG (info) << " Adding Layer " << layerName << " at z = " << z;
402+ // Add layers
403+ auto & thisLayer = mLayers [direction].emplace_back (direction, layerNumber, layerName, z, rIn, rOut, x0);
404+ }
405+ }
406+ }
407+
349408// _________________________________________________________________________________________________
350409void Detector::buildFT3Scoping ()
351410{
@@ -411,7 +470,7 @@ Detector::Detector(bool active)
411470 } else {
412471 switch (ft3BaseParam.geoModel ) {
413472 case Default:
414- buildFT3NewVacuumVessel (); // FT3 after Upgrade days March 2024
473+ buildFT3ScopingV3 (); // v3 Dec 25
415474 break ;
416475 case Telescope:
417476 buildBasicFT3 (ft3BaseParam); // BasicFT3 = Parametrized telescopic detector (equidistant layers)
0 commit comments