Skip to content

Commit 5e3d5e5

Browse files
authored
[ALICE3] Fix magnet radius (#15787)
1 parent 2aa6d61 commit 5e3d5e5

4 files changed

Lines changed: 43 additions & 17 deletions

File tree

Detectors/Upgrades/ALICE3/Passive/include/Alice3DetectorsPassive/Magnet.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class Alice3Magnet : public Alice3PassiveBase
3535
Alice3Magnet(const Alice3Magnet& orig);
3636
Alice3Magnet& operator=(const Alice3Magnet&);
3737

38+
// Default, overwritten in the implementation file
3839
float mInnerWrapInnerRadius{160.f}; // cm // Version including the Ecal according SD
3940
float mInnerWrapThickness{1.f}; // cm
4041
float mCoilInnerRadius{180.f}; // cm

Detectors/Upgrades/ALICE3/Passive/include/Alice3DetectorsPassive/PassiveBaseParam.h

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,24 @@ enum MagnetType : int {
3131
SuperconductingMagnet = 3 // Using Superconducting magnet (NbTi+Cu+Al) for the magnet
3232
};
3333

34-
enum MagnetAbsorberLayout : int {
35-
StandardRadius = 0, // Using standard radius for the magnet and absorber
36-
ReducedRadius = 1, // Using reduced radius for the magnet and absorber
37-
SteppedAbsorber = 2 // Using stepped absorber for the magnet and absorber
34+
enum MagnetLayout : int {
35+
MagStandardRadius = 0, // Using standard radius for the magnet
36+
MagReducedRadius = 1, // Using reduced radius for the magnet
37+
MagThickRadius = 2, // Using thick radius for the magnet
38+
};
39+
40+
enum AbsorberLayout : int {
41+
AbsStandardRadius = 0, // Using standard radius for the absorber
42+
AbsReducedRadius = 1, // Using reduced radius for the absorber
43+
AbsSteppedAbsorber = 2 // Using stepped absorber for the absorber
3844
};
3945

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

43-
MagnetType mMagType = MagnetType::AluminiumStabilizer; // Magnet type: as in MagnetType enum
44-
MagnetAbsorberLayout mMagAbsLayout = o2::passive::MagnetAbsorberLayout::SteppedAbsorber; // Magnet and absorber layout: as in MagnetAbsorberLayout enum
49+
MagnetType mMagType = MagnetType::AluminiumStabilizer; // Magnet type: as in MagnetType enum
50+
MagnetLayout mMagnetLayout = o2::passive::MagnetLayout::MagStandardRadius; // Magnet layout: as in MagnetLayout enum
51+
AbsorberLayout mAbsorberLayout = o2::passive::AbsorberLayout::AbsSteppedAbsorber; // Absorber layout: as in AbsorberLayout enum
4552

4653
O2ParamDef(Alice3PassiveBaseParam, "Alice3PassiveBase");
4754
};

Detectors/Upgrades/ALICE3/Passive/src/Absorber.cxx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,8 @@ void Alice3Absorber::ConstructGeometry()
132132

133133
auto& passiveBaseParam = Alice3PassiveBaseParam::Instance();
134134
TGeoPcon* absorings = nullptr;
135-
switch (passiveBaseParam.mMagAbsLayout) {
136-
case o2::passive::MagnetAbsorberLayout::StandardRadius:
135+
switch (passiveBaseParam.mAbsorberLayout) {
136+
case o2::passive::AbsorberLayout::AbsStandardRadius:
137137
absorings = new TGeoPcon(0., 360., 18);
138138
absorings->DefineSection(0, 500, 236, 274);
139139
absorings->DefineSection(1, 400, 236, 274);
@@ -154,7 +154,7 @@ void Alice3Absorber::ConstructGeometry()
154154
absorings->DefineSection(16, -400, 236, 274);
155155
absorings->DefineSection(17, -500, 236, 274);
156156
break;
157-
case o2::passive::MagnetAbsorberLayout::ReducedRadius:
157+
case o2::passive::AbsorberLayout::AbsReducedRadius:
158158
absorings = new TGeoPcon(0., 360., 18);
159159
absorings->DefineSection(0, 500, 201, 239);
160160
absorings->DefineSection(1, 400, 201, 239);
@@ -175,7 +175,7 @@ void Alice3Absorber::ConstructGeometry()
175175
absorings->DefineSection(16, -400, 201, 239);
176176
absorings->DefineSection(17, -500, 201, 239);
177177
break;
178-
case o2::passive::MagnetAbsorberLayout::SteppedAbsorber:
178+
case o2::passive::AbsorberLayout::AbsSteppedAbsorber:
179179
// Geometria 6 (Ian/tesis): Rext=290 constante, escalon en Rmin.
180180
// Externas 45 cm (Rmin=245), central 70 cm (Rmin=220). Ref: Ian DetectorConstruction.cc abs_thickness={45,70,45}
181181
absorings = new TGeoPcon(0., 360., 6);
@@ -187,7 +187,7 @@ void Alice3Absorber::ConstructGeometry()
187187
absorings->DefineSection(5, 500, 245, 290);
188188
break;
189189
default:
190-
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagAbsLayout;
190+
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mAbsorberLayout;
191191
break;
192192
}
193193

Detectors/Upgrades/ALICE3/Passive/src/Magnet.cxx

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,19 @@ void Alice3Magnet::ConstructGeometry()
119119
// Passive Base configuration parameters
120120
auto& passiveBaseParam = Alice3PassiveBaseParam::Instance();
121121

122-
switch (passiveBaseParam.mMagAbsLayout) {
123-
case o2::passive::MagnetAbsorberLayout::StandardRadius:
124-
// Defined in the header file
122+
switch (passiveBaseParam.mMagnetLayout) {
123+
case o2::passive::MagnetLayout::MagStandardRadius: // Values taken from https://indico.cern.ch/event/1516752/contributions/6598922/attachments/3148108/5593121/ALICE3_magnet_071025.pdf
124+
mInnerWrapInnerRadius = 140.f; // cm Inner radius of the inner wrap (Aluminium stabilizer)
125+
mInnerWrapThickness = 1.f; // cm
126+
mCoilInnerRadius = 160.f; // cm
127+
mCoilThickness = 0.3f; // cm
128+
mRestMaterialRadius = 160.3f; // cm
129+
mRestMaterialThickness = 6.8f; // cm
130+
mOuterWrapInnerRadius = 180.f; // cm
131+
mOuterWrapThickness = 3.f; // cm
132+
mZLength = 750.f; // cm Length of the magnet (Z direction)
125133
break;
126-
case o2::passive::MagnetAbsorberLayout::SteppedAbsorber: // Ian absorber uses ReducedRadius magnet
127-
case o2::passive::MagnetAbsorberLayout::ReducedRadius:
134+
case o2::passive::MagnetLayout::MagReducedRadius:
128135
mInnerWrapInnerRadius = 125.f; // cm
129136
mInnerWrapThickness = 1.f; // cm
130137
mCoilInnerRadius = 145.f; // cm
@@ -135,8 +142,19 @@ void Alice3Magnet::ConstructGeometry()
135142
mOuterWrapThickness = 3.f; // cm
136143
mZLength = 800.f; // cm
137144
break;
145+
case o2::passive::MagnetLayout::MagThickRadius: // Values taken from https://indico.cern.ch/event/1516752/contributions/6598922/attachments/3148108/5593121/ALICE3_magnet_071025.pdf
146+
mInnerWrapInnerRadius = 140.f; // cm Inner radius of the inner wrap (Aluminium stabilizer)
147+
mInnerWrapThickness = 1.f; // cm
148+
mCoilInnerRadius = 160.f; // cm
149+
mCoilThickness = 0.3f; // cm
150+
mRestMaterialRadius = 160.3f; // cm
151+
mRestMaterialThickness = 6.8f; // cm
152+
mOuterWrapInnerRadius = 200.f; // cm
153+
mOuterWrapThickness = 3.f; // cm
154+
mZLength = 750.f; // cm Length of the magnet (Z direction)
155+
break;
138156
default:
139-
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagAbsLayout;
157+
LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mMagnetLayout;
140158
break;
141159
}
142160

0 commit comments

Comments
 (0)