|
12 | 12 | #include <DetectorsBase/Detector.h> |
13 | 13 | #include <DetectorsBase/MaterialManager.h> |
14 | 14 | #include <Alice3DetectorsPassive/Magnet.h> |
| 15 | +#include <Alice3DetectorsPassive/PassiveBaseParam.h> |
15 | 16 | #include <TGeoCompositeShape.h> |
16 | 17 | #include <TGeoManager.h> |
17 | 18 | #include <TGeoMatrix.h> |
@@ -54,11 +55,24 @@ void Alice3Magnet::createMaterials() |
54 | 55 | // | Support cylinder | 20 | 8.896 | 0.225 | |
55 | 56 | // | Al-strip | 1 | 8.896 | 0.011 | |
56 | 57 | // | NbTi/Cu | 3 | 1.598 | 0.188 | |
57 | | - // | Insulation | 11 | 17.64 | 0.062 | |
| 58 | + // | Insulation | 11 | 17.64 | 0.062 | |
58 | 59 | // | Al-stabiliser | 33 | 8.896 | 0.371 | |
59 | 60 | // | Inner cryostat | 10 | 8.896 | 0.112 | |
60 | 61 | // | Outer cryostat | 30 | 8.896 | 0.337 | |
61 | 62 | // +------------------+-------------------------+----------+--------+ |
| 63 | + // Update: 2025-06-16 |
| 64 | + // +------------------+-------------------------+----------+--------+ |
| 65 | + // | layer | effective thickness [mm]| X0 [cm] | X0 [%] | |
| 66 | + // +------------------+-------------------------+----------+--------+ |
| 67 | + // | Support cylinder | 20 | 8.896 | 0.225 | |
| 68 | + // | Al-strip | 1 | 8.896 | 0.011 | |
| 69 | + // | NbTi/Cu | 3 | 1.598 | 0.188 | |
| 70 | + // | Insulation | 11 | 17.64 | 0.062 | |
| 71 | + // | Cu-stabiliser | 22 | 1.436 | 1.532 | |
| 72 | + // | Inner cryostat | 10 | 8.896 | 0.112 | |
| 73 | + // | Outer cryostat | 30 | 8.896 | 0.337 | |
| 74 | + // | total | | | 2.468 | |
| 75 | + // +------------------+-------------------------+----------+--------+ |
62 | 76 | // Geometry will be oversimplified in two wrapping cylindrical Al layers (symmetric for the time being) with a Copper layer in between. |
63 | 77 |
|
64 | 78 | // |
@@ -90,6 +104,14 @@ void Alice3Magnet::ConstructGeometry() |
90 | 104 | { |
91 | 105 | createMaterials(); |
92 | 106 |
|
| 107 | + // Passive Base configuration parameters |
| 108 | + auto& passiveBaseParam = Alice3PassiveBaseParam::Instance(); |
| 109 | + const bool doCopperStabilizer = (passiveBaseParam.mGeometry == o2::passive::MagnetGeometry::CopperStabilizer); |
| 110 | + if (doCopperStabilizer) { |
| 111 | + mRestMaterialThickness -= 3.3; // cm Remove the Aluminium stabiliser |
| 112 | + mRestMaterialThickness += 2.2; // cm Add the Copper stabiliser |
| 113 | + } |
| 114 | + |
93 | 115 | TGeoManager* geoManager = gGeoManager; |
94 | 116 | TGeoVolume* barrel = geoManager->GetVolume("barrel"); |
95 | 117 | if (!barrel) { |
@@ -117,7 +139,7 @@ void Alice3Magnet::ConstructGeometry() |
117 | 139 | TGeoVolume* innerWrapVol = new TGeoVolume("innerWrap", innerLayer, kMedAl); |
118 | 140 | TGeoVolume* innerVacuumVol = new TGeoVolume("innerVacuum", innerVacuum, kMedVac); |
119 | 141 | TGeoVolume* coilsVol = new TGeoVolume("coils", coilsLayer, kMedCu); |
120 | | - TGeoVolume* restMaterialVol = new TGeoVolume("restMaterial", restMaterial, kMedAl); |
| 142 | + TGeoVolume* restMaterialVol = new TGeoVolume("restMaterial", restMaterial, doCopperStabilizer ? kMedCu : kMedAl); |
121 | 143 | TGeoVolume* outerVacuumVol = new TGeoVolume("outerVacuum", outerVacuum, kMedVac); |
122 | 144 | TGeoVolume* outerWrapVol = new TGeoVolume("outerWrap", outerLayer, kMedAl); |
123 | 145 |
|
|
0 commit comments