From 64575755ee49ad70a561f11acf5e6c5ad1c4f531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Jacazio?= Date: Tue, 10 Mar 2026 10:22:51 +0100 Subject: [PATCH 1/2] [ALICE3] update oTOF radius --- .../ALICE3/IOTOF/simulation/src/Detector.cxx | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx b/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx index d4e34c582bbed..1e9ea3aedd1e5 100644 --- a/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx +++ b/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx @@ -61,10 +61,8 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str const float x2x0) { - const float radiusInnerTof = 19.f; - const float radiusOuterTof = 85.f; - const float lengthInnerTof = 124.f; - float lengthOuterTof = 680.f; + const std::pair dInnerTof = {21.f, 124.f}; // Radius and length + std::pair dOuterTof = {95.f, 680.f}; // Radius and length std::pair radiusRangeDiskTof = {15.f, 100.f}; float zForwardTof = 370.f; LOG(info) << "Configuring IOTOF layers with '" << pattern << "' pattern"; @@ -74,49 +72,55 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str ftof = false; btof = false; } else if (pattern == "v3b1a") { - lengthOuterTof = 500.f; + dOuterTof.second = 500.f; zForwardTof = 270.f; radiusRangeDiskTof = {30.f, 100.f}; } else if (pattern == "v3b1b") { - lengthOuterTof = 500.f; + dOuterTof.second = 500.f; zForwardTof = 200.f; radiusRangeDiskTof = {20.f, 68.f}; } else if (pattern == "v3b2a") { - lengthOuterTof = 440.f; + dOuterTof.second = 440.f; zForwardTof = 270.f; radiusRangeDiskTof = {30.f, 120.f}; } else if (pattern == "v3b2b") { - lengthOuterTof = 440.f; + dOuterTof.second = 440.f; zForwardTof = 200.f; radiusRangeDiskTof = {20.f, 68.f}; } else if (pattern == "v3b3") { - lengthOuterTof = 580.f; + dOuterTof.second = 580.f; zForwardTof = 200.f; radiusRangeDiskTof = {20.f, 68.f}; } else { LOG(fatal) << "IOTOF layer pattern " << pattern << " not recognized, exiting"; } if (itof) { // iTOF - mITOFLayer = itofSegmented ? ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()}, - radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrelSegmented, - 24, 5.42, 10.0, 10) - : ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()}, - radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrel); + const std::string name = GeometryTGeo::getITOFLayerPattern(); + const int nStaves = itofSegmented ? 24 : 0; // number of staves in segmented case + const double staveWidth = itofSegmented ? 5.42 : 0.0; // cm + const double staveTiltAngle = itofSegmented ? 10.0 : 0.0; // degrees + const int modulesPerStave = itofSegmented ? 10 : 0; // number of modules per stave in segmented case + mITOFLayer = ITOFLayer(name, + dInnerTof.first, 0.f, dInnerTof.second, 0.f, x2x0, ITOFLayer::kBarrelSegmented, + nStaves, staveWidth, staveTiltAngle, modulesPerStave); } if (otof) { // oTOF - mOTOFLayer = otofSegmented ? OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()}, - radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrelSegmented, - 62, 9.74, 5.0, 54) - : OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()}, - radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrel); + const std::string name = GeometryTGeo::getOTOFLayerPattern(); + const int nStaves = otofSegmented ? 62 : 0; // number of staves in segmented case + const double staveWidth = otofSegmented ? 9.74 : 0.0; // cm + const double staveTiltAngle = otofSegmented ? 5.0 : 0.0; // degrees + const int modulesPerStave = otofSegmented ? 54 : 0; // number of modules per stave in segmented case + mOTOFLayer = OTOFLayer(name, + dOuterTof.first, 0.f, dOuterTof.second, 0.f, x2x0, OTOFLayer::kBarrelSegmented, + nStaves, staveWidth, staveTiltAngle, modulesPerStave); } if (ftof) { - mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()}, - radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, x2x0, FTOFLayer::kDisk); // fTOF + const std::string name = GeometryTGeo::getFTOFLayerPattern(); + mFTOFLayer = FTOFLayer(name, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, x2x0, FTOFLayer::kDisk); // fTOF } if (btof) { - mBTOFLayer = BTOFLayer(std::string{GeometryTGeo::getBTOFLayerPattern()}, - radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF + const std::string name = GeometryTGeo::getBTOFLayerPattern(); + mBTOFLayer = BTOFLayer(name, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF } } @@ -338,4 +342,4 @@ o2::itsmft::Hit* Detector::addHit(int trackID, int detID, const TVector3& startP } // namespace iotof } // namespace o2 -ClassImp(o2::iotof::Detector); \ No newline at end of file +ClassImp(o2::iotof::Detector); From e621bedccf7a65ee826b76c8b2aece42622cb738 Mon Sep 17 00:00:00 2001 From: ALICE Builder Date: Tue, 10 Mar 2026 10:35:56 +0100 Subject: [PATCH 2/2] Please consider the following formatting changes (#15141) --- Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx b/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx index 1e9ea3aedd1e5..e66ab69886e0a 100644 --- a/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx +++ b/Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx @@ -62,7 +62,7 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str { const std::pair dInnerTof = {21.f, 124.f}; // Radius and length - std::pair dOuterTof = {95.f, 680.f}; // Radius and length + std::pair dOuterTof = {95.f, 680.f}; // Radius and length std::pair radiusRangeDiskTof = {15.f, 100.f}; float zForwardTof = 370.f; LOG(info) << "Configuring IOTOF layers with '" << pattern << "' pattern";