ATLAS Offline Software
Loading...
Searching...
No Matches
LArG4::BarrelCryostat Namespace Reference

Classes

struct  RegionInfo_t
struct  IdentifierInfo_t
struct  CopyNumberInfo_t
struct  VolumeInfo_t
class  CalibrationCalculator
class  CalibrationLArCalculator
class  CalibrationMixedCalculator

Typedefs

typedef std::map< G4int, const IdentifierInfo_t * > identifierMap_t
typedef std::map< G4String, identifierMap_tvolumeMap_t

Functions

const volumeMap_tvolumeMap ()
 volumeMap singleton

Variables

static const RegionInfo_t region010 []
static const RegionInfo_t region012 []
static const RegionInfo_t region020 []
static const RegionInfo_t region021 []
static const CopyNumberInfo_t info1 []
static const CopyNumberInfo_t info2 []
static const CopyNumberInfo_t info3 []
static const VolumeInfo_t volume1
static const VolumeInfo_t volume2
static const VolumeInfo_t volume3
static const VolumeInfo_t volumes [] = { volume1, volume2, volume3}
static const G4int numberOfVolumes = sizeof(volumes) / sizeof(VolumeInfo_t)

Typedef Documentation

◆ identifierMap_t

◆ volumeMap_t

typedef std::map< G4String, identifierMap_t > LArG4::BarrelCryostat::volumeMap_t

Definition at line 373 of file CryostatCalibrationCalculator.cxx.

Function Documentation

◆ volumeMap()

const volumeMap_t & LArG4::BarrelCryostat::volumeMap ( )

volumeMap singleton

Definition at line 379 of file CryostatCalibrationCalculator.cxx.

380 {
381 static const volumeMap_t instance = []()
382 {
384 // For each volume managed by this calculator...
385 for (G4int v = 0; v != numberOfVolumes; v++)
386 {
387 const VolumeInfo_t& volume = volumes[v];
388
389#if defined (DEBUG_HITS) || defined (DEBUG_MAPS)
390 G4cout << "LArG4::BarrelCryostat::CalibrationCalculator::CalibrationCalculator - "
391 << " volume '"
392 << volume.volumeName
393 << "' has number of entries=" << volume.numberOfCopies
394 << G4endl;
395#endif
396
397 identifierMap_t identifierMap;
398 const CopyNumberInfo_t* copyInfo = volume.copyInfo;
399
400 // For each range copy numbers that can be found in a volume with this name...
401 for (G4int c = 0; c != volume.numberOfCopies; c++, copyInfo++)
402 {
403 // For each copy in the range of copy numbers
404 for (G4int copy = copyInfo->copyNumberLow;
405 copy <= copyInfo->copyNumberHigh;
406 copy++)
407 {
408#if defined (DEBUG_HITS) || defined (DEBUG_MAPS)
409 G4cout << "LArG4::BarrelCryostat::CalibrationCalculator::CalibrationCalculator - "
410 << " adding copy=" << copy
411 << " to identifierMap"
412 << G4endl;
413#endif
414 // Add to the map that's based on copy number.
415 identifierMap[copy] = &(copyInfo->identifierInfo);
416 }
417 }
418
419 // Add to the map that's based on volume name; it
420 // contains maps based on copy number.
421 volumeMap[volume.volumeName] = std::move(identifierMap);
422
423#if defined (DEBUG_HITS) || defined (DEBUG_MAPS)
424 G4cout << "LArG4::BarrelCryostat::CalibrationCalculator::CalibrationCalculator - "
425 << " volume '"
426 << volume.volumeName
427 << "' added to map."
428 << G4endl;
429#endif
430
431 }
432 return volumeMap;
433 }(); // end of lambda
434
435 return instance;
436 }
std::map< std::string, double > instance
std::map< G4String, identifierMap_t > volumeMap_t
const volumeMap_t & volumeMap()
volumeMap singleton
static const VolumeInfo_t volumes[]
std::map< G4int, const IdentifierInfo_t * > identifierMap_t

Variable Documentation

◆ info1

const CopyNumberInfo_t LArG4::BarrelCryostat::info1[]
static

Definition at line 166 of file CryostatCalibrationCalculator.cxx.

166 {
167 // ------------- region inner warm wall and solenoid ------------
168 // copy number range (low, high)
169 // { 1, 1,
170 // // Det Sub Typ Sam
171 // { 10, 4, 1, 1,
172 // sizeof(region010)/sizeof(RegionInfo_t),
173 // region010 }
174 // },
175 // copy number range (low, high)
176 { 56, 60,
177 // Det Sub Typ Sam
178 { 10, 4, 1, 1,
179 sizeof(region010)/sizeof(RegionInfo_t),
180 region010 }
181 },
182 // ------------------ region inner cold wall, Cyl -----------------
183 // copy number range (low, high)
184 // { 4, 5,
185 // // Det Sub Typ Sam
186 // { 10, 4, 1, 1,
187 // sizeof(region011)/sizeof(RegionInfo_t),
188 // region011 }
189 // },
190 // copy number range (low, high)
191 // { 55, 55,
192 // // Det Sub Typ Sam
193 // { 10, 4, 1, 1,
194 // sizeof(region011)/sizeof(RegionInfo_t),
195 // region011 }
196 // },
197 // copy number range (low, high)
198 // { 61, 61,
199 // // Det Sub Typ Sam
200 // { 10, 4, 1, 1,
201 // sizeof(region011)/sizeof(RegionInfo_t),
202 // region011 }
203 // // 84 bolts inside this cylinder have the same name
204 // // and the same copy#=61 => Edeposits in bolts are collected
205 //
206 // },
207 // --- region: inner warm walls, cables and services in front of EMEC
208 // copy number range (low, high)
209 // { 17, 19,
210 // // Det Sub Typ Sam
211 // { 10, 4, 1, 1,
212 // sizeof(region012)/sizeof(RegionInfo_t),
213 // region012 }
214 // },
215 // { 50, 52,
216 // // Det Sub Typ Sam
217 // { 10, 4, 1, 1,
218 // sizeof(region012)/sizeof(RegionInfo_t),
219 // region012 }
220 // },
221
222 // ---------------- outer warm and cold walls, cables and services
223 // copy number range (low, high)
224 // { 3, 3,
225 // // Det Sub Typ Sam
226 // { 10, 4, 1, 2,
227 // sizeof(region021)/sizeof(RegionInfo_t),
228 // region021 }
229 // },
230 { 6, 6,
231 // Det Sub Typ Sam
232 { 10, 4, 1, 2,
233 sizeof(region020)/sizeof(RegionInfo_t),
234 region020 }
235 },
236 { 7, 10,
237 // Det Sub Typ Sam
238 { 10, 4, 1, 2,
239 sizeof(region021)/sizeof(RegionInfo_t),
240 region021 }
241 },
242 { 11, 11,
243 // Det Sub Typ Sam
244 { 10, 4, 1, 2,
245 sizeof(region020)/sizeof(RegionInfo_t),
246 region020 }
247 },
248 { 12, 12,
249 // Det Sub Typ Sam
250 { 10, 4, 1, 2,
251 sizeof(region021)/sizeof(RegionInfo_t),
252 region021 }
253 },
254 { 14, 16,
255 // Det Sub Typ Sam
256 { 10, 4, 1, 2,
257 sizeof(region021)/sizeof(RegionInfo_t),
258 region021 }
259 },
260 // { 48, 48,
261 // // Det Sub Typ Sam
262 // { 10, 4, 1, 2,
263 // sizeof(region021)/sizeof(RegionInfo_t),
264 // region021 }
265 // },
266 // --------------- Half::Cylinder (Old name, info4 was moved to here)
267 // --- placed inside LAr of each Half Barrel ------
268 // copy number range (low, high)
269 { 20, 20, // outer of acco in the center
270 // Det Sub Typ Sam
271 { 10, 4, 1, 2,
272 sizeof(region020)/sizeof(RegionInfo_t),
273 region020 }
274 },
275 { 24, 44, // 24 - 44 outer support-rings
276 // Det Sub Typ Sam
277 { 10, 4, 1, 2,
278 sizeof(region020)/sizeof(RegionInfo_t),
279 region020 }
280 },
281 };
static const RegionInfo_t region021[]
static const RegionInfo_t region010[]
static const RegionInfo_t region020[]

◆ info2

const CopyNumberInfo_t LArG4::BarrelCryostat::info2[]
static
Initial value:
=
{
{ 1, 1,
{ 10, 4, 1, 1,
sizeof(region010)/sizeof(RegionInfo_t),
},
}

Definition at line 284 of file CryostatCalibrationCalculator.cxx.

284 {
285 //----region: inner wall ---------------------
286 { 1, 1,
287 // Det Sub Typ Sam
288 { 10, 4, 1, 1,
289 sizeof(region010)/sizeof(RegionInfo_t),
290 region010 }
291 },
292 };

◆ info3

const CopyNumberInfo_t LArG4::BarrelCryostat::info3[]
static
Initial value:
=
{
{ 12, 12,
{ 10, 4, 1, 2,
sizeof(region021)/sizeof(RegionInfo_t),
},
{ 7, 7,
{ 10, 4, 1, 2,
sizeof(region021)/sizeof(RegionInfo_t),
},
{ 1, 1,
{ 10, 4, 1, 1,
sizeof(region012)/sizeof(RegionInfo_t),
},
}
static const RegionInfo_t region012[]

Definition at line 295 of file CryostatCalibrationCalculator.cxx.

295 {
296 // ---------------Sectors -----------------
297 // copy number range (low, high)
298 { 12, 12, // legs
299 // Det Sub Typ Sam
300 { 10, 4, 1, 2,
301 sizeof(region021)/sizeof(RegionInfo_t),
302 region021 }
303 },
304 { 7, 7, // ears
305 // Det Sub Typ Sam
306 { 10, 4, 1, 2,
307 sizeof(region021)/sizeof(RegionInfo_t),
308 region021 }
309 },
310 { 1, 1, // Ti blocks 11 - 34 (copy number arbitrary)
311 // Det Sub Typ Sam
312 { 10, 4, 1, 1,
313 sizeof(region012)/sizeof(RegionInfo_t),
314 region012 }
315 },
316 };

◆ numberOfVolumes

const G4int LArG4::BarrelCryostat::numberOfVolumes = sizeof(volumes) / sizeof(VolumeInfo_t)
static

Definition at line 370 of file CryostatCalibrationCalculator.cxx.

◆ region010

const RegionInfo_t LArG4::BarrelCryostat::region010[]
static
Initial value:
=
{ { 0, 0.0, 1.5, 0.1, M_PI/32. },
{ 4, 1.5, 1.6, 0.1, M_PI/32. },
{ 5, 1.5, 1.8, 0.1, M_PI/32. },
{ 6, 1.3, 3.2, 0.1, M_PI/32. } }
#define M_PI

Definition at line 125 of file CryostatCalibrationCalculator.cxx.

127 { { 0, 0.0, 1.5, 0.1, M_PI/32. },
128 { 4, 1.5, 1.6, 0.1, M_PI/32. },
129 { 5, 1.5, 1.8, 0.1, M_PI/32. },
130 { 6, 1.3, 3.2, 0.1, M_PI/32. } };

◆ region012

const RegionInfo_t LArG4::BarrelCryostat::region012[]
static
Initial value:
=
{ { 4, 1.5, 1.6, 0.1, M_PI/32. },
{ 5, 1.5, 1.8, 0.1, M_PI/32. },
{ 6, 1.3, 3.2, 0.1, M_PI/32. } }

Definition at line 142 of file CryostatCalibrationCalculator.cxx.

144 { { 4, 1.5, 1.6, 0.1, M_PI/32. },
145 { 5, 1.5, 1.8, 0.1, M_PI/32. },
146 { 6, 1.3, 3.2, 0.1, M_PI/32. } };

◆ region020

const RegionInfo_t LArG4::BarrelCryostat::region020[]
static
Initial value:
=
{ { 0, 0.0, 1.0, 0.1, M_PI/32. },
{ 2, 1.0, 1.5, 0.1, M_PI/32. } }

Definition at line 150 of file CryostatCalibrationCalculator.cxx.

152 { { 0, 0.0, 1.0, 0.1, M_PI/32. },
153 { 2, 1.0, 1.5, 0.1, M_PI/32. } };

◆ region021

const RegionInfo_t LArG4::BarrelCryostat::region021[]
static
Initial value:
=
{ { 1, 0.0, 1.0, 0.1, M_PI/32. },
{ 2, 1.0, 1.5, 0.1, M_PI/32. } }

Definition at line 156 of file CryostatCalibrationCalculator.cxx.

159 { { 1, 0.0, 1.0, 0.1, M_PI/32. },
160 { 2, 1.0, 1.5, 0.1, M_PI/32. } };

◆ volume1

const VolumeInfo_t LArG4::BarrelCryostat::volume1
static
Initial value:
=
{ "LAr::Barrel::Cryostat::Cylinder",
sizeof(info1) / sizeof(CopyNumberInfo_t),
}
static const CopyNumberInfo_t info1[]

Definition at line 340 of file CryostatCalibrationCalculator.cxx.

340 { "LAr::Barrel::Cryostat::Cylinder",
341 sizeof(info1) / sizeof(CopyNumberInfo_t),
342 info1
343 };

◆ volume2

const VolumeInfo_t LArG4::BarrelCryostat::volume2
static
Initial value:
=
{ "LAr::Barrel::Cryostat::InnerWall",
sizeof(info2) / sizeof(CopyNumberInfo_t),
}
static const CopyNumberInfo_t info2[]

Definition at line 351 of file CryostatCalibrationCalculator.cxx.

351 { "LAr::Barrel::Cryostat::InnerWall",
352 sizeof(info2) / sizeof(CopyNumberInfo_t),
353 info2
354 };

◆ volume3

const VolumeInfo_t LArG4::BarrelCryostat::volume3
static
Initial value:
=
{ "LAr::Barrel::Cryostat::Sector",
sizeof(info3) / sizeof(CopyNumberInfo_t),
}
static const CopyNumberInfo_t info3[]

Definition at line 357 of file CryostatCalibrationCalculator.cxx.

357 { "LAr::Barrel::Cryostat::Sector",
358 sizeof(info3) / sizeof(CopyNumberInfo_t),
359 info3
360 };

◆ volumes

const VolumeInfo_t LArG4::BarrelCryostat::volumes[] = { volume1, volume2, volume3}
static

Definition at line 369 of file CryostatCalibrationCalculator.cxx.