9 #include "G4VPhysicalVolume.hh"
10 #include "G4VTouchable.hh"
18 : theArm_(0), theStation_(0), theRoman_pot_(0), thePlane_(0), theDetector_(0) {}
21 G4VPhysicalVolume* physVol;
22 const G4VTouchable* touch = aStep->GetPreStepPoint()->GetTouchable();
23 bool foundVacuum =
false;
25 for (
int ii = 0;
ii < touch->GetHistoryDepth();
ii++) {
26 physVol = touch->GetVolume(
ii);
28 if (physVol->GetName().contains(
"CTPPS_Diamond_Segment") || physVol->GetName().contains(
"CTPPS_UFSD_Segment")) {
31 LogDebug(
"PPSSimDiamond") <<
"\n---------------------CTPPS_Diamond_Segment-------------------------------------"
32 "------------------------------";
33 LogDebug(
"PPSSimDiamond") <<
"\t\t\t\t\tDetector name " << physVol->GetName()
34 <<
" copynumber= " << physVol->GetCopyNo();
38 else if (physVol->GetName().contains(
"Primary_Vacuum")) {
39 int cpy_no = physVol->GetCopyNo();
45 LogDebug(
"PPSSimDiamond") <<
"Diamond physVol =" << physVol->GetName() <<
", level=" <<
ii
46 <<
", physVol->GetCopyNo()=" << physVol->GetCopyNo() << std::endl;
48 if (foundVacuum ==
false) {
49 edm::LogError(
"PPSSimDiamond") <<
"Physical volume Primary_Vacuum not found. Cannot determine CTPPSDiamondDetId.";