ATLAS Offline Software
Classes | Typedefs | Functions
LArG4::BarrelCryostat Namespace Reference

Classes

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

Typedefs

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

Functions

const volumeMap_tvolumeMap ()
 volumeMap singleton More...
 

Typedef Documentation

◆ identifierMap_t

Definition at line 372 of file CryostatCalibrationCalculator.cxx.

◆ 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] = 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  }
LArG4::BarrelCryostat::volumeMap
const volumeMap_t & volumeMap()
volumeMap singleton
Definition: CryostatCalibrationCalculator.cxx:379
LArG4::BarrelCryostat::volumeMap_t
std::map< G4String, identifierMap_t > volumeMap_t
Definition: CryostatCalibrationCalculator.cxx:373
instance
std::map< std::string, double > instance
Definition: Run_To_Get_Tags.h:8
LArG4::BarrelCryostat::identifierMap_t
std::map< G4int, const IdentifierInfo_t * > identifierMap_t
Definition: CryostatCalibrationCalculator.cxx:372
python.PyAthena.v
v
Definition: PyAthena.py:157
calibdata.copy
bool copy
Definition: calibdata.py:27
python.compressB64.c
def c
Definition: compressB64.py:93
LArG4::BarrelCryostat::VolumeInfo_t::volumeName
G4String volumeName
Definition: CryostatCalibrationCalculator.cxx:111