Skip to content

Commit fd78301

Browse files
authored
[ALICE3] Update oTOF radius (#15140)
1 parent e608207 commit fd78301

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

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

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,8 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str
6161
const float x2x0)
6262
{
6363

64-
const float radiusInnerTof = 19.f;
65-
const float radiusOuterTof = 85.f;
66-
const float lengthInnerTof = 124.f;
67-
float lengthOuterTof = 680.f;
64+
const std::pair<float, float> dInnerTof = {21.f, 129.f}; // Radius and length
65+
std::pair<float, float> dOuterTof = {92.f, 680.f}; // Radius and length
6866
std::pair<float, float> radiusRangeDiskTof = {15.f, 100.f};
6967
float zForwardTof = 370.f;
7068
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
7472
ftof = false;
7573
btof = false;
7674
} else if (pattern == "v3b1a") {
77-
lengthOuterTof = 500.f;
75+
dOuterTof.second = 500.f;
7876
zForwardTof = 270.f;
7977
radiusRangeDiskTof = {30.f, 100.f};
8078
} else if (pattern == "v3b1b") {
81-
lengthOuterTof = 500.f;
79+
dOuterTof.second = 500.f;
8280
zForwardTof = 200.f;
8381
radiusRangeDiskTof = {20.f, 68.f};
8482
} else if (pattern == "v3b2a") {
85-
lengthOuterTof = 440.f;
83+
dOuterTof.second = 440.f;
8684
zForwardTof = 270.f;
8785
radiusRangeDiskTof = {30.f, 120.f};
8886
} else if (pattern == "v3b2b") {
89-
lengthOuterTof = 440.f;
87+
dOuterTof.second = 440.f;
9088
zForwardTof = 200.f;
9189
radiusRangeDiskTof = {20.f, 68.f};
9290
} else if (pattern == "v3b3") {
93-
lengthOuterTof = 580.f;
91+
dOuterTof.second = 580.f;
9492
zForwardTof = 200.f;
9593
radiusRangeDiskTof = {20.f, 68.f};
9694
} else {
9795
LOG(fatal) << "IOTOF layer pattern " << pattern << " not recognized, exiting";
9896
}
9997
if (itof) { // iTOF
100-
mITOFLayer = itofSegmented ? ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()},
101-
radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrelSegmented,
102-
24, 5.42, 10.0, 10)
103-
: ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()},
104-
radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrel);
98+
const std::string name = GeometryTGeo::getITOFLayerPattern();
99+
const int nStaves = itofSegmented ? 24 : 0; // number of staves in segmented case
100+
const double staveWidth = itofSegmented ? 5.42 : 0.0; // cm
101+
const double staveTiltAngle = itofSegmented ? 10.0 : 0.0; // degrees
102+
const int modulesPerStave = itofSegmented ? 10 : 0; // number of modules per stave in segmented case
103+
mITOFLayer = ITOFLayer(name,
104+
dInnerTof.first, 0.f, dInnerTof.second, 0.f, x2x0, ITOFLayer::kBarrelSegmented,
105+
nStaves, staveWidth, staveTiltAngle, modulesPerStave);
105106
}
106107
if (otof) { // oTOF
107-
mOTOFLayer = otofSegmented ? OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()},
108-
radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrelSegmented,
109-
62, 9.74, 5.0, 54)
110-
: OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()},
111-
radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrel);
108+
const std::string name = GeometryTGeo::getOTOFLayerPattern();
109+
const int nStaves = otofSegmented ? 62 : 0; // number of staves in segmented case
110+
const double staveWidth = otofSegmented ? 9.74 : 0.0; // cm
111+
const double staveTiltAngle = otofSegmented ? 5.0 : 0.0; // degrees
112+
const int modulesPerStave = otofSegmented ? 54 : 0; // number of modules per stave in segmented case
113+
mOTOFLayer = OTOFLayer(name,
114+
dOuterTof.first, 0.f, dOuterTof.second, 0.f, x2x0, OTOFLayer::kBarrelSegmented,
115+
nStaves, staveWidth, staveTiltAngle, modulesPerStave);
112116
}
113117
if (ftof) {
114-
mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()},
115-
radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, x2x0, FTOFLayer::kDisk); // fTOF
118+
const std::string name = GeometryTGeo::getFTOFLayerPattern();
119+
mFTOFLayer = FTOFLayer(name, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, x2x0, FTOFLayer::kDisk); // fTOF
116120
}
117121
if (btof) {
118-
mBTOFLayer = BTOFLayer(std::string{GeometryTGeo::getBTOFLayerPattern()},
119-
radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF
122+
const std::string name = GeometryTGeo::getBTOFLayerPattern();
123+
mBTOFLayer = BTOFLayer(name, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF
120124
}
121125
}
122126

@@ -338,4 +342,4 @@ o2::itsmft::Hit* Detector::addHit(int trackID, int detID, const TVector3& startP
338342
} // namespace iotof
339343
} // namespace o2
340344

341-
ClassImp(o2::iotof::Detector);
345+
ClassImp(o2::iotof::Detector);

0 commit comments

Comments
 (0)