7 #include "DD4hep/Filter.h" 8 #include "G4VPhysicalVolume.hh" 9 #include "G4VTouchable.hh" 17 : offMap_(offMap), dd4hep_(
dd4hep) {
35 edm::LogVerbatim(
"MuonSim") <<
"MuonGeometryNumbering finds unusual start value for copy numbers:" 50 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
52 for (
int ii = 0;
ii < touch->GetHistoryDepth();
ii++) {
53 G4VPhysicalVolume* vol = touch->GetVolume(
ii);
54 int copyno = vol->GetCopyNo();
58 std::size_t
last = namx.rfind(
'_');
62 extra = (itr->second).first + (itr->second).
second;
70 edm::LogVerbatim(
"MuonSim") <<
"MuonG4Numbering: " << vol->GetName() <<
" " << copyno <<
" Split " int getValue(const std::string &name) const
Log< level::Info, true > LogVerbatim
const int getCopyNoLevel(const int)
const MuonOffsetMap * offMap_
const int getCopyNoBaseNo(const int)
U second(std::pair< T, U > const &p)
MuonBaseNumber PhysicalVolumeToBaseNumber(const G4Step *aStep)
const bool copyNoRelevant(const int)
const int getCopyNoSuperNo(const int)
MuonG4Numbering(const MuonGeometryConstants &muonConstants, const MuonOffsetMap *offMap, bool dd4hep)
std::unordered_map< std::string, std::pair< int, int > > muonMap_