Go to the documentation of this file.
7 #include "DD4hep/Filter.h"
8 #include "G4VPhysicalVolume.hh"
9 #include "G4VTouchable.hh"
17 : offMap_(offMap), dd4hep_(
dd4hep) {
35 std::cout <<
"MuonGeometryNumbering finds unusual start value for copy numbers:" <<
theStartCopyNo << std::endl;
49 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
51 for (
int ii = 0;
ii < touch->GetHistoryDepth();
ii++) {
52 G4VPhysicalVolume* vol = touch->GetVolume(
ii);
53 int copyno = vol->GetCopyNo();
56 std::string namx = static_cast<std::string>(dd4hep::dd::noNamespace(vol->GetName()));
57 std::size_t
last = namx.rfind(
'_');
69 edm::LogVerbatim(
"MuonSim") <<
"MuonG4Numbering: " << vol->GetName() <<
" " << copyno <<
" Split "
const int getCopyNoBaseNo(const int)
const int getCopyNoLevel(const int)
U second(std::pair< T, U > const &p)
MuonG4Numbering(const MuonGeometryConstants &muonConstants, const MuonOffsetMap *offMap, bool dd4hep)
int getValue(const std::string &name) const
std::vector< std::pair< float, float > >::iterator itr
MuonBaseNumber PhysicalVolumeToBaseNumber(const G4Step *aStep)
Log< level::Info, true > LogVerbatim
const bool copyNoRelevant(const int)
const MuonOffsetMap * offMap_
const int getCopyNoSuperNo(const int)
std::unordered_map< std::string, std::pair< int, int > > muonMap_