Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@ namespace iotof
{

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

O2ParamDef(IOTOFBaseParam, "IOTOFBase");
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class Detector : public o2::base::DetImpl<Detector>
return nullptr;
}

void configLayers(bool itof = true, bool otof = true, bool ftof = true, bool btof = true, std::string pattern = "", bool itofSegmented = false, bool otofSegmented = false);
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);

void configServices();
void createMaterials();
Expand Down
25 changes: 14 additions & 11 deletions Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Detector.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Detector::Detector(bool active)
configLayers(iotofPars.enableInnerTOF, iotofPars.enableOuterTOF,
iotofPars.enableForwardTOF, iotofPars.enableBackwardTOF,
iotofPars.detectorPattern,
iotofPars.segmentedInnerTOF, iotofPars.segmentedOuterTOF);
iotofPars.segmentedInnerTOF, iotofPars.segmentedOuterTOF, iotofPars.x2x0);
}

Detector::~Detector()
Expand All @@ -57,12 +57,13 @@ void Detector::ConstructGeometry()
createGeometry();
}

void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::string pattern, bool itofSegmented, bool otofSegmented)
void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::string pattern, bool itofSegmented, bool otofSegmented,
const float x2x0)
{

float radiusInnerTof = 19.f;
float radiusOuterTof = 85.f;
float lengthInnerTof = 124.f;
const float radiusInnerTof = 19.f;
const float radiusOuterTof = 85.f;
const float lengthInnerTof = 124.f;
float lengthOuterTof = 680.f;
std::pair<float, float> radiusRangeDiskTof = {15.f, 100.f};
float zForwardTof = 370.f;
Expand Down Expand Up @@ -97,23 +98,25 @@ void Detector::configLayers(bool itof, bool otof, bool ftof, bool btof, std::str
}
if (itof) { // iTOF
mITOFLayer = itofSegmented ? ITOFLayer(std::string{GeometryTGeo::getITOFLayerPattern()},
radiusInnerTof, 0.f, lengthInnerTof, 0.f, 0.02f, ITOFLayer::kBarrelSegmented,
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, 0.02f, ITOFLayer::kBarrel);
radiusInnerTof, 0.f, lengthInnerTof, 0.f, x2x0, ITOFLayer::kBarrel);
}
if (otof) { // oTOF
mOTOFLayer = otofSegmented ? OTOFLayer(std::string{GeometryTGeo::getOTOFLayerPattern()},
radiusOuterTof, 0.f, lengthOuterTof, 0.f, 0.02f, OTOFLayer::kBarrelSegmented,
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, 0.02f, OTOFLayer::kBarrel);
radiusOuterTof, 0.f, lengthOuterTof, 0.f, x2x0, OTOFLayer::kBarrel);
}
if (ftof) {
mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()}, radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, zForwardTof, 0.02f, FTOFLayer::kDisk); // fTOF
mFTOFLayer = FTOFLayer(std::string{GeometryTGeo::getFTOFLayerPattern()},
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, 0.02f, BTOFLayer::kDisk); // bTOF
mBTOFLayer = BTOFLayer(std::string{GeometryTGeo::getBTOFLayerPattern()},
radiusRangeDiskTof.first, radiusRangeDiskTof.second, 0.f, -zForwardTof, x2x0, BTOFLayer::kDisk); // bTOF
}
}

Expand Down
2 changes: 1 addition & 1 deletion Detectors/Upgrades/ALICE3/IOTOF/simulation/src/Layer.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Layer::Layer(std::string layerName, float rInn, float rOut, float zLength, float
mModulesPerStave(modulesPerStave),
mTiltAngle(staveTiltAngle)
{
float Si_X0 = 9.5f;
const float Si_X0 = 9.5f;
mChipThickness = mX2X0 * Si_X0;
std::string name = "";
switch (layout) {
Expand Down