20 #include "G4VPhysicalVolume.hh"
21 #include "G4VTouchable.hh"
28 _needUpdateUnitID(
false), _needUpdateData(
false),
29 _currentUnitID(-1), _currentPlane(-1), _currentCSC(-1),
31 edm::LogInfo(
"ForwardSim") <<
"Creating TotemT2OrganizationGem";
43 G4VPhysicalVolume* physVol;
45 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
47 for( ii = 0; ii < touch->GetHistoryDepth(); ii++ ){
48 physVol = touch->GetVolume(ii);
51 LogDebug(
"ForwardSim") <<
"physVol=" << physVol->GetName() <<
", level="
52 << ii <<
", physVol->GetCopyNo()="
53 << physVol->GetCopyNo();
58 physVol= touch->GetVolume(0);
60 if(physVol->GetName() ==
"TotemT2gem")UNITA = 10 + physVol->GetCopyNo() ;
61 if(physVol->GetName() ==
"TotemT2gem_supporto")UNITA =20 + physVol->GetCopyNo();
62 if(physVol->GetName() ==
"TotemT2gem_detector7r")UNITA = 100 + physVol->GetCopyNo() + (touch->GetVolume(2)->GetCopyNo())*1000;
63 if(physVol->GetName() ==
"TotemT2gem_HC7r")UNITA = 200 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
64 if(physVol->GetName() ==
"TotemT2gem_drift7r")UNITA = 300 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
65 if(physVol->GetName() ==
"TotemT2gem_driftspace7r")UNITA = 400 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
66 if(physVol->GetName() ==
"TotemT2gem_GEMa7r")UNITA = 500 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
67 if(physVol->GetName() ==
"TotemT2gem_GEMb7r")UNITA = 600 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
68 if(physVol->GetName() ==
"TotemT2gem_GEMc7r")UNITA = 700 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
69 if(physVol->GetName() ==
"TotemT2gem_GAS7r")UNITA = 800 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
70 if(physVol->GetName() ==
"TotemT2gem_GEMa17r")UNITA = 900 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
71 if(physVol->GetName() ==
"TotemT2gem_GEMb17r")UNITA = 1000 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
72 if(physVol->GetName() ==
"TotemT2gem_GEMc17r")UNITA = 1100 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
73 if(physVol->GetName() ==
"TotemT2gem_GAS17r")UNITA = 1200 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
74 if(physVol->GetName() ==
"TotemT2gem_GEMa27r")UNITA = 1300 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
75 if(physVol->GetName() ==
"TotemT2gem_GEMb27r")UNITA = 1400 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
76 if(physVol->GetName() ==
"TotemT2gem_GEMc27r")UNITA = 1500 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
77 if(physVol->GetName() ==
"TotemT2gem_GAS27r")UNITA = 1600 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
78 if(physVol->GetName() ==
"TotemT2gem_strips7r")UNITA = 1700 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
79 if(physVol->GetName() ==
"TotemT2gem_isol7r")UNITA = 1800 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
80 if(physVol->GetName() ==
"TotemT2gem_pads7r")UNITA = 1900 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
81 if(physVol->GetName() ==
"TotemT2gem_HC17r")UNITA = 2000 + touch->GetVolume(1)->GetCopyNo()+ (touch->GetVolume(3)->GetCopyNo())*1000;
int _currentDetectorPosition
virtual ~TotemT2OrganizationGem()
uint32_t GetUnitID(const G4Step *aStep)
volatile std::atomic< bool > shutdown_flag false