|
12 | 12 | #include <DetectorsBase/Detector.h> |
13 | 13 | #include <DetectorsBase/MaterialManager.h> |
14 | 14 | #include <Alice3DetectorsPassive/Absorber.h> |
| 15 | +#include <Alice3DetectorsPassive/PassiveBaseParam.h> |
15 | 16 | #include <TGeoArb8.h> // for TGeoTrap |
16 | 17 | #include <TGeoCompositeShape.h> |
17 | 18 | #include <TGeoCone.h> |
@@ -130,25 +131,52 @@ void Alice3Absorber::ConstructGeometry() |
130 | 131 | } |
131 | 132 |
|
132 | 133 | TGeoPcon* absorings = new TGeoPcon(0., 360., 18); |
133 | | - |
134 | | - absorings->DefineSection(0, 500, 236, 274); |
135 | | - absorings->DefineSection(1, 400, 236, 274); |
136 | | - absorings->DefineSection(2, 400, 232.5, 277.5); |
137 | | - absorings->DefineSection(3, 300, 232.5, 277.5); |
138 | | - absorings->DefineSection(4, 300, 227.5, 282.5); |
139 | | - absorings->DefineSection(5, 200, 227.5, 282.5); |
140 | | - absorings->DefineSection(6, 200, 222.5, 287.5); |
141 | | - absorings->DefineSection(7, 100, 222.5, 287.5); |
142 | | - absorings->DefineSection(8, 100, 220, 290); |
143 | | - absorings->DefineSection(9, -100, 220, 290); |
144 | | - absorings->DefineSection(10, -100, 222.5, 287.5); |
145 | | - absorings->DefineSection(11, -200, 222.5, 287.5); |
146 | | - absorings->DefineSection(12, -200, 227.5, 282.5); |
147 | | - absorings->DefineSection(13, -300, 227.5, 282.5); |
148 | | - absorings->DefineSection(14, -300, 232.5, 277.5); |
149 | | - absorings->DefineSection(15, -400, 232.5, 277.5); |
150 | | - absorings->DefineSection(16, -400, 236, 274); |
151 | | - absorings->DefineSection(17, -500, 236, 274); |
| 134 | + auto& passiveBaseParam = Alice3PassiveBaseParam::Instance(); |
| 135 | + switch (passiveBaseParam.mDetLayout) { |
| 136 | + case o2::passive::DetLayout::StandardRadius: |
| 137 | + absorings->DefineSection(0, 500, 236, 274); |
| 138 | + absorings->DefineSection(1, 400, 236, 274); |
| 139 | + absorings->DefineSection(2, 400, 232.5, 277.5); |
| 140 | + absorings->DefineSection(3, 300, 232.5, 277.5); |
| 141 | + absorings->DefineSection(4, 300, 227.5, 282.5); |
| 142 | + absorings->DefineSection(5, 200, 227.5, 282.5); |
| 143 | + absorings->DefineSection(6, 200, 222.5, 287.5); |
| 144 | + absorings->DefineSection(7, 100, 222.5, 287.5); |
| 145 | + absorings->DefineSection(8, 100, 220, 290); |
| 146 | + absorings->DefineSection(9, -100, 220, 290); |
| 147 | + absorings->DefineSection(10, -100, 222.5, 287.5); |
| 148 | + absorings->DefineSection(11, -200, 222.5, 287.5); |
| 149 | + absorings->DefineSection(12, -200, 227.5, 282.5); |
| 150 | + absorings->DefineSection(13, -300, 227.5, 282.5); |
| 151 | + absorings->DefineSection(14, -300, 232.5, 277.5); |
| 152 | + absorings->DefineSection(15, -400, 232.5, 277.5); |
| 153 | + absorings->DefineSection(16, -400, 236, 274); |
| 154 | + absorings->DefineSection(17, -500, 236, 274); |
| 155 | + break; |
| 156 | + case o2::passive::DetLayout::ReducedRadius: |
| 157 | + absorings->DefineSection(0, 500, 201, 239); |
| 158 | + absorings->DefineSection(1, 400, 201, 239); |
| 159 | + absorings->DefineSection(2, 400, 197.5, 242.5); |
| 160 | + absorings->DefineSection(3, 300, 197.5, 242.5); |
| 161 | + absorings->DefineSection(4, 300, 192.5, 247.5); |
| 162 | + absorings->DefineSection(5, 200, 192.5, 247.5); |
| 163 | + absorings->DefineSection(6, 200, 187.5, 252.5); |
| 164 | + absorings->DefineSection(7, 100, 187.5, 252.5); |
| 165 | + absorings->DefineSection(8, 100, 185, 255); |
| 166 | + absorings->DefineSection(9, -100, 185, 255); |
| 167 | + absorings->DefineSection(10, -100, 187.5, 252.5); |
| 168 | + absorings->DefineSection(11, -200, 187.5, 252.5); |
| 169 | + absorings->DefineSection(12, -200, 192.5, 247.5); |
| 170 | + absorings->DefineSection(13, -300, 192.5, 247.5); |
| 171 | + absorings->DefineSection(14, -300, 197.5, 242.5); |
| 172 | + absorings->DefineSection(15, -400, 197.5, 242.5); |
| 173 | + absorings->DefineSection(16, -400, 201, 239); |
| 174 | + absorings->DefineSection(17, -500, 201, 239); |
| 175 | + break; |
| 176 | + default: |
| 177 | + LOG(fatal) << "Unknown detector layout " << passiveBaseParam.mDetLayout; |
| 178 | + break; |
| 179 | + } |
152 | 180 |
|
153 | 181 | // Insert |
154 | 182 | absorings->SetName("absorings"); |
|
0 commit comments