Skip to content
Open
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 @@ -31,14 +31,15 @@ enum MagnetLayout : int {

enum DetLayout : int {
StandardRadius = 0,
ReducedRadius = 1
ReducedRadius = 1,
Version2 = 2 // Specs from engineering note 2026-05-06
};

struct Alice3PassiveBaseParam : public o2::conf::ConfigurableParamHelper<Alice3PassiveBaseParam> {
// Geometry Builder parameters

int mLayout = MagnetLayout::AluminiumStabilizer;
int mDetLayout = DetLayout::StandardRadius;
MagnetLayout mLayout = MagnetLayout::AluminiumStabilizer; // Magnet layout: Aluminium or Copper stabilizer
DetLayout mDetLayout = DetLayout::StandardRadius; // Detector layout: Standard or Reduced radius

O2ParamDef(Alice3PassiveBaseParam, "Alice3PassiveBase");
};
Expand Down
1 change: 1 addition & 0 deletions Detectors/Upgrades/ALICE3/Passive/src/Absorber.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ void Alice3Absorber::ConstructGeometry()
absorings->DefineSection(17, -500, 236, 274);
break;
case o2::passive::DetLayout::ReducedRadius:
case o2::passive::DetLayout::Version2:
absorings->DefineSection(0, 500, 201, 239);
absorings->DefineSection(1, 400, 201, 239);
absorings->DefineSection(2, 400, 197.5, 242.5);
Expand Down
19 changes: 19 additions & 0 deletions Detectors/Upgrades/ALICE3/Passive/src/Magnet.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ void Alice3Magnet::ConstructGeometry()
// Passive Base configuration parameters
auto& passiveBaseParam = Alice3PassiveBaseParam::Instance();

const bool isVersion2 = (passiveBaseParam.mDetLayout == o2::passive::DetLayout::Version2);

switch (passiveBaseParam.mDetLayout) {
case o2::passive::DetLayout::StandardRadius:
// Defined in the header file
Expand All @@ -122,6 +124,19 @@ void Alice3Magnet::ConstructGeometry()
mOuterWrapThickness = 3.f; // cm
mZLength = 800.f; // cm
break;
case o2::passive::DetLayout::Version2:
// Engineering note 2026-05-06 baseline stack (radial):
// inner wall 3 mm + winding pack 48 mm + support cylinder 20 mm + MLI 2 mm + outer wall 3 mm.
mInnerWrapInnerRadius = 125.f; // cm
mInnerWrapThickness = 0.3f; // cm
mCoilInnerRadius = mInnerWrapInnerRadius + mInnerWrapThickness; // cm
mCoilThickness = 4.8f; // cm
mRestMaterialRadius = mCoilInnerRadius + mCoilThickness; // cm
mRestMaterialThickness = 2.2f; // cm
mOuterWrapInnerRadius = mRestMaterialRadius + mRestMaterialThickness; // cm
mOuterWrapThickness = 0.3f; // cm
mZLength = 800.f; // cm
break;
default:
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mDetLayout;
break;
Expand All @@ -133,6 +148,10 @@ void Alice3Magnet::ConstructGeometry()
// Handled in the header file
break;
case o2::passive::MagnetLayout::CopperStabilizer:
if (isVersion2) {
LOG(warn) << "Alice 3 magnet: CopperStabilizer override ignored for Version2 (engineering-note stack)";
break;
}
doCopperStabilizer = true;
mRestMaterialThickness -= 3.3; // cm Remove the Aluminium stabiliser
mRestMaterialThickness += 2.2; // cm Add the Copper stabiliser
Expand Down