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 @@ -35,6 +35,7 @@ class Alice3Magnet : public Alice3PassiveBase
Alice3Magnet(const Alice3Magnet& orig);
Alice3Magnet& operator=(const Alice3Magnet&);

// Default, overwritten in the implementation file
float mInnerWrapInnerRadius{160.f}; // cm // Version including the Ecal according SD
float mInnerWrapThickness{1.f}; // cm
float mCoilInnerRadius{180.f}; // cm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,24 @@ enum MagnetType : int {
SuperconductingMagnet = 3 // Using Superconducting magnet (NbTi+Cu+Al) for the magnet
};

enum MagnetAbsorberLayout : int {
StandardRadius = 0, // Using standard radius for the magnet and absorber
ReducedRadius = 1, // Using reduced radius for the magnet and absorber
SteppedAbsorber = 2 // Using stepped absorber for the magnet and absorber
enum MagnetLayout : int {
MagStandardRadius = 0, // Using standard radius for the magnet
MagReducedRadius = 1, // Using reduced radius for the magnet
MagThickRadius = 2, // Using thick radius for the magnet
};

enum AbsorberLayout : int {
AbsStandardRadius = 0, // Using standard radius for the absorber
AbsReducedRadius = 1, // Using reduced radius for the absorber
AbsSteppedAbsorber = 2 // Using stepped absorber for the absorber
};

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

MagnetType mMagType = MagnetType::AluminiumStabilizer; // Magnet type: as in MagnetType enum
MagnetAbsorberLayout mMagAbsLayout = o2::passive::MagnetAbsorberLayout::SteppedAbsorber; // Magnet and absorber layout: as in MagnetAbsorberLayout enum
MagnetType mMagType = MagnetType::AluminiumStabilizer; // Magnet type: as in MagnetType enum
MagnetLayout mMagnetLayout = o2::passive::MagnetLayout::MagStandardRadius; // Magnet layout: as in MagnetLayout enum
AbsorberLayout mAbsorberLayout = o2::passive::AbsorberLayout::AbsSteppedAbsorber; // Absorber layout: as in AbsorberLayout enum

O2ParamDef(Alice3PassiveBaseParam, "Alice3PassiveBase");
};
Expand Down
10 changes: 5 additions & 5 deletions Detectors/Upgrades/ALICE3/Passive/src/Absorber.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ void Alice3Absorber::ConstructGeometry()

auto& passiveBaseParam = Alice3PassiveBaseParam::Instance();
TGeoPcon* absorings = nullptr;
switch (passiveBaseParam.mMagAbsLayout) {
case o2::passive::MagnetAbsorberLayout::StandardRadius:
switch (passiveBaseParam.mAbsorberLayout) {
case o2::passive::AbsorberLayout::AbsStandardRadius:
absorings = new TGeoPcon(0., 360., 18);
absorings->DefineSection(0, 500, 236, 274);
absorings->DefineSection(1, 400, 236, 274);
Expand All @@ -154,7 +154,7 @@ void Alice3Absorber::ConstructGeometry()
absorings->DefineSection(16, -400, 236, 274);
absorings->DefineSection(17, -500, 236, 274);
break;
case o2::passive::MagnetAbsorberLayout::ReducedRadius:
case o2::passive::AbsorberLayout::AbsReducedRadius:
absorings = new TGeoPcon(0., 360., 18);
absorings->DefineSection(0, 500, 201, 239);
absorings->DefineSection(1, 400, 201, 239);
Expand All @@ -175,7 +175,7 @@ void Alice3Absorber::ConstructGeometry()
absorings->DefineSection(16, -400, 201, 239);
absorings->DefineSection(17, -500, 201, 239);
break;
case o2::passive::MagnetAbsorberLayout::SteppedAbsorber:
case o2::passive::AbsorberLayout::AbsSteppedAbsorber:
// Geometria 6 (Ian/tesis): Rext=290 constante, escalon en Rmin.
// Externas 45 cm (Rmin=245), central 70 cm (Rmin=220). Ref: Ian DetectorConstruction.cc abs_thickness={45,70,45}
absorings = new TGeoPcon(0., 360., 6);
Expand All @@ -187,7 +187,7 @@ void Alice3Absorber::ConstructGeometry()
absorings->DefineSection(5, 500, 245, 290);
break;
default:
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagAbsLayout;
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mAbsorberLayout;
break;
}

Expand Down
30 changes: 24 additions & 6 deletions Detectors/Upgrades/ALICE3/Passive/src/Magnet.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -119,12 +119,19 @@ void Alice3Magnet::ConstructGeometry()
// Passive Base configuration parameters
auto& passiveBaseParam = Alice3PassiveBaseParam::Instance();

switch (passiveBaseParam.mMagAbsLayout) {
case o2::passive::MagnetAbsorberLayout::StandardRadius:
// Defined in the header file
switch (passiveBaseParam.mMagnetLayout) {
case o2::passive::MagnetLayout::MagStandardRadius: // Values taken from https://indico.cern.ch/event/1516752/contributions/6598922/attachments/3148108/5593121/ALICE3_magnet_071025.pdf
mInnerWrapInnerRadius = 140.f; // cm Inner radius of the inner wrap (Aluminium stabilizer)
mInnerWrapThickness = 1.f; // cm
mCoilInnerRadius = 160.f; // cm
mCoilThickness = 0.3f; // cm
mRestMaterialRadius = 160.3f; // cm
mRestMaterialThickness = 6.8f; // cm
mOuterWrapInnerRadius = 180.f; // cm
mOuterWrapThickness = 3.f; // cm
mZLength = 750.f; // cm Length of the magnet (Z direction)
break;
case o2::passive::MagnetAbsorberLayout::SteppedAbsorber: // Ian absorber uses ReducedRadius magnet
case o2::passive::MagnetAbsorberLayout::ReducedRadius:
case o2::passive::MagnetLayout::MagReducedRadius:
mInnerWrapInnerRadius = 125.f; // cm
mInnerWrapThickness = 1.f; // cm
mCoilInnerRadius = 145.f; // cm
Expand All @@ -135,8 +142,19 @@ void Alice3Magnet::ConstructGeometry()
mOuterWrapThickness = 3.f; // cm
mZLength = 800.f; // cm
break;
case o2::passive::MagnetLayout::MagThickRadius: // Values taken from https://indico.cern.ch/event/1516752/contributions/6598922/attachments/3148108/5593121/ALICE3_magnet_071025.pdf
mInnerWrapInnerRadius = 140.f; // cm Inner radius of the inner wrap (Aluminium stabilizer)
mInnerWrapThickness = 1.f; // cm
mCoilInnerRadius = 160.f; // cm
mCoilThickness = 0.3f; // cm
mRestMaterialRadius = 160.3f; // cm
mRestMaterialThickness = 6.8f; // cm
mOuterWrapInnerRadius = 200.f; // cm
mOuterWrapThickness = 3.f; // cm
mZLength = 750.f; // cm Length of the magnet (Z direction)
break;
default:
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagAbsLayout;
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagnetLayout;
break;
}

Expand Down
Loading