Skip to content

Commit e574e15

Browse files
committed
Created configurable to set overall geometry in buildTRKNewVacuumVessel
1 parent 7655ce1 commit e574e15

File tree

2 files changed

+44
-16
lines changed

2 files changed

+44
-16
lines changed

Detectors/Upgrades/ALICE3/TRK/base/include/TRKBase/TRKBaseParam.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ namespace o2
2020
namespace trk
2121
{
2222

23+
enum eOverallGeom {
24+
kDefaultRadii = 0, // After Upgrade Days March 2024
25+
kModRadii,
26+
};
27+
2328
enum eLayout {
2429
kCylinder = 0,
2530
kTurboStaves,
@@ -31,6 +36,8 @@ struct TRKBaseParam : public o2::conf::ConfigurableParamHelper<TRKBaseParam> {
3136
float serviceTubeX0 = 0.02f; // X0 Al2O3
3237
Bool_t irisOpen = false;
3338

39+
eOverallGeom overallGeom = kDefaultRadii; // Overall geometry option, to be used in Detector::buildTRKNewVacuumVessel
40+
3441
eLayout layoutML = kCylinder; // Type of segmentation for the middle layers
3542
eLayout layoutOL = kCylinder; // Type of segmentation for the outer layers
3643

Detectors/Upgrades/ALICE3/TRK/simulation/src/Detector.cxx

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -116,25 +116,46 @@ void Detector::configDefault()
116116

117117
void Detector::buildTRKNewVacuumVessel()
118118
{
119-
// Build the TRK detector according to changes proposed during
120-
// https://indico.cern.ch/event/1407704/
121-
// to adhere to the changes that were presented at the ALICE 3 Upgrade days in March 2024
122-
// L3 -> 7 cm, L4 -> 9 cm
119+
auto& trkPars = TRKBaseParam::Instance();
123120

124121
mLayers.clear();
125122

126-
LOGP(warning, "Loading \"After Upgrade Days March 2024\" configuration for ALICE3 TRK");
127-
mLayers.emplace_back(0, GeometryTGeo::getTRKLayerPattern() + std::to_string(0), 7.f, 10, 100.e-3);
128-
LOGP(info, "TRKLayer created. Name: {}", GeometryTGeo::getTRKLayerPattern() + std::to_string(0));
129-
mLayers.emplace_back(1, GeometryTGeo::getTRKLayerPattern() + std::to_string(1), 11.f, 10, 100.e-3);
130-
mLayers.emplace_back(2, GeometryTGeo::getTRKLayerPattern() + std::to_string(2), 15.f, 10, 100.e-3);
131-
mLayers.emplace_back(3, GeometryTGeo::getTRKLayerPattern() + std::to_string(3), 19.f, 10, 100.e-3);
132-
mLayers.emplace_back(4, GeometryTGeo::getTRKLayerPattern() + std::to_string(4), 30.f, 10, 100.e-3);
133-
mLayers.emplace_back(5, GeometryTGeo::getTRKLayerPattern() + std::to_string(5), 45.f, 20, 100.e-3);
134-
mLayers.emplace_back(6, GeometryTGeo::getTRKLayerPattern() + std::to_string(6), 60.f, 20, 100.e-3);
135-
mLayers.emplace_back(7, GeometryTGeo::getTRKLayerPattern() + std::to_string(7), 80.f, 20, 100.e-3);
136-
137-
auto& trkPars = TRKBaseParam::Instance();
123+
switch (trkPars.overallGeom) {
124+
case kDefaultRadii:
125+
// Build the TRK detector according to changes proposed during
126+
// https://indico.cern.ch/event/1407704/
127+
// to adhere to the changes that were presented at the ALICE 3 Upgrade days in March 2024
128+
// L3 -> 7 cm, L4 -> 9 cm, L5 -> 12 cm, L6 -> 20 cm
129+
130+
LOGP(warning, "Loading \"After Upgrade Days March 2024\" configuration for ALICE3 TRK");
131+
LOGP(warning, "Building TRK with new vacuum vessel and L3 at 7 cm, L4 at 9 cm, L5 at 12 cm, L6 at 20 cm");
132+
mLayers.emplace_back(0, GeometryTGeo::getTRKLayerPattern() + std::to_string(0), 7.f, 10, 100.e-3);
133+
LOGP(info, "TRKLayer created. Name: {}", GeometryTGeo::getTRKLayerPattern() + std::to_string(0));
134+
mLayers.emplace_back(1, GeometryTGeo::getTRKLayerPattern() + std::to_string(1), 9.f, 10, 100.e-3);
135+
mLayers.emplace_back(2, GeometryTGeo::getTRKLayerPattern() + std::to_string(2), 12.f, 10, 100.e-3);
136+
mLayers.emplace_back(3, GeometryTGeo::getTRKLayerPattern() + std::to_string(3), 20.f, 10, 100.e-3);
137+
mLayers.emplace_back(4, GeometryTGeo::getTRKLayerPattern() + std::to_string(4), 30.f, 10, 100.e-3);
138+
mLayers.emplace_back(5, GeometryTGeo::getTRKLayerPattern() + std::to_string(5), 45.f, 20, 100.e-3);
139+
mLayers.emplace_back(6, GeometryTGeo::getTRKLayerPattern() + std::to_string(6), 60.f, 20, 100.e-3);
140+
mLayers.emplace_back(7, GeometryTGeo::getTRKLayerPattern() + std::to_string(7), 80.f, 20, 100.e-3);
141+
break;
142+
case kModRadii:
143+
LOGP(warning, "Loading \"Alternative\" configuration for ALICE3 TRK");
144+
LOGP(warning, "Building TRK with new vacuum vessel and L3 at 7 cm, L4 at 11 cm, L5 at 15 cm, L6 at 19 cm");
145+
mLayers.emplace_back(0, GeometryTGeo::getTRKLayerPattern() + std::to_string(0), 7.f, 10, 100.e-3);
146+
LOGP(info, "TRKLayer created. Name: {}", GeometryTGeo::getTRKLayerPattern() + std::to_string(0));
147+
mLayers.emplace_back(1, GeometryTGeo::getTRKLayerPattern() + std::to_string(1), 11.f, 10, 100.e-3);
148+
mLayers.emplace_back(2, GeometryTGeo::getTRKLayerPattern() + std::to_string(2), 15.f, 10, 100.e-3);
149+
mLayers.emplace_back(3, GeometryTGeo::getTRKLayerPattern() + std::to_string(3), 19.f, 10, 100.e-3);
150+
mLayers.emplace_back(4, GeometryTGeo::getTRKLayerPattern() + std::to_string(4), 30.f, 10, 100.e-3);
151+
mLayers.emplace_back(5, GeometryTGeo::getTRKLayerPattern() + std::to_string(5), 45.f, 20, 100.e-3);
152+
mLayers.emplace_back(6, GeometryTGeo::getTRKLayerPattern() + std::to_string(6), 60.f, 20, 100.e-3);
153+
mLayers.emplace_back(7, GeometryTGeo::getTRKLayerPattern() + std::to_string(7), 80.f, 20, 100.e-3);
154+
break;
155+
default:
156+
LOGP(warning, "Unknown option {} for buildTRKNewVacuumVessel", trkPars.overallGeom);
157+
break;
158+
}
138159

139160
// Middle layers
140161
mLayers[0].setLayout(trkPars.layoutML);

0 commit comments

Comments
 (0)