Skip to content

Commit cd684f9

Browse files
committed
[ALICE3] Add possibility to set the chip thickness
1 parent d142160 commit cd684f9

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

Detectors/Upgrades/ALICE3/IOTOF/base/include/IOTOFBase/IOTOFBaseParam.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,14 @@ namespace iotof
2121
{
2222

2323
struct IOTOFBaseParam : public o2::conf::ConfigurableParamHelper<IOTOFBaseParam> {
24-
bool enableInnerTOF = true;
25-
bool enableOuterTOF = true;
26-
bool enableForwardTOF = true;
27-
bool enableBackwardTOF = true;
28-
std::string detectorPattern = "";
29-
bool segmentedInnerTOF = false; // If the inner TOF layer is segmented
30-
bool segmentedOuterTOF = false; // If the outer TOF layer is segmented
24+
bool enableInnerTOF = true; // Enable Inner TOF layer
25+
bool enableOuterTOF = true; // Enable Outer TOF layer
26+
bool enableForwardTOF = true; // Enable Forward TOF layer
27+
bool enableBackwardTOF = true; // Enable Backward TOF layer
28+
std::string detectorPattern = ""; // Layouts of the detector
29+
bool segmentedInnerTOF = false; // If the inner TOF layer is segmented
30+
bool segmentedOuterTOF = false; // If the outer TOF layer is segmented
31+
float x2x0 = 0.02f; // thickness expressed in radiation length, for all layers for the moment
3132

3233
O2ParamDef(IOTOFBaseParam, "IOTOFBase");
3334
};

Detectors/Upgrades/ALICE3/IOTOF/simulation/include/IOTOFSimulation/Detector.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class Detector : public o2::base::DetImpl<Detector>
6060
return nullptr;
6161
}
6262

63-
void configLayers(bool itof = true, bool otof = true, bool ftof = true, bool btof = true, std::string pattern = "", bool itofSegmented = false, bool otofSegmented = false);
63+
void configLayers(bool itof = true, bool otof = true, bool ftof = true, bool btof = true, std::string pattern = "", bool itofSegmented = false, bool otofSegmented = false, const float x2x0 = 0.02f);
6464

6565
void configServices();
6666
void createMaterials();

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

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Detector::Detector(bool active)
4141
configLayers(iotofPars.enableInnerTOF, iotofPars.enableOuterTOF,
4242
iotofPars.enableForwardTOF, iotofPars.enableBackwardTOF,
4343
iotofPars.detectorPattern,
44-
iotofPars.segmentedInnerTOF, iotofPars.segmentedOuterTOF);
44+
iotofPars.segmentedInnerTOF, iotofPars.segmentedOuterTOF, iotofPars.x2x0);
4545
}
4646

4747
Detector::~Detector()
@@ -57,12 +57,13 @@ void Detector::ConstructGeometry()
5757
createGeometry();
5858
}
5959

60-
void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::string pattern, bool itofSegmented, bool otofSegmented)
60+
void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::string pattern, bool itofSegmented, bool otofSegmented,
61+
const float x2x0)
6162
{
6263

63-
float radiusInnerTof = 19.f;
64-
float radiusOuterTof = 85.f;
65-
float lengthInnerTof = 124.f;
64+
const float radiusInnerTof = 19.f;
65+
const float radiusOuterTof = 85.f;
66+
const float lengthInnerTof = 124.f;
6667
float lengthOuterTof = 680.f;
6768
std::pair<float, float> radiusRangeDiskTof = {15.f, 100.f};
6869
float zForwardTof = 370.f;
@@ -97,23 +98,25 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str
9798
}
9899
if (itof) { // iTOF
99100
mITOFLayer = itofSegmented ? ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()},
100-
radiusInnerTof, 0.f, lengthInnerTof, 0.f, 0.02f, ITOFLayer::kBarrelSegmented,
101+
radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrelSegmented,
101102
24, 5.42, 10.0, 10)
102103
: ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()},
103-
radiusInnerTof, 0.f, lengthInnerTof, 0.f, 0.02f, ITOFLayer::kBarrel);
104+
radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrel);
104105
}
105106
if (otof) { // oTOF
106107
mOTOFLayer = otofSegmented ? OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()},
107-
radiusOuterTof, 0.f, lengthOuterTof, 0.f, 0.02f, OTOFLayer::kBarrelSegmented,
108+
radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrelSegmented,
108109
62, 9.74, 5.0, 54)
109110
: OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()},
110-
radiusOuterTof, 0.f, lengthOuterTof, 0.f, 0.02f, OTOFLayer::kBarrel);
111+
radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrel);
111112
}
112113
if (ftof) {
113-
mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()}, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, 0.02f, FTOFLayer::kDisk); // fTOF
114+
mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()},
115+
radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, x2x0, FTOFLayer::kDisk); // fTOF
114116
}
115117
if (btof) {
116-
mBTOFLayer = BTOFLayer(std::string{GeometryTGeo::getBTOFLayerPattern()}, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, 0.02f, BTOFLayer::kDisk); // bTOF
118+
mBTOFLayer = BTOFLayer(std::string{GeometryTGeo::getBTOFLayerPattern()},
119+
radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF
117120
}
118121
}
119122

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Layer::Layer(std::string layerName, float rInn, float rOut, float zLength, float
4040
mModulesPerStave(modulesPerStave),
4141
mTiltAngle(staveTiltAngle)
4242
{
43-
float Si_X0 = 9.5f;
43+
const float Si_X0 = 9.5f;
4444
mChipThickness = mX2X0 * Si_X0;
4545
std::string name = "";
4646
switch (layout) {

0 commit comments

Comments
 (0)