39:fpSearchPVModel(pSearchPVModel)
40,fRequiredTouchable(requiredTouchable)
45void G4TouchablePropertiesScene::ProcessVolume (
const G4VSolid& ) {
47 const std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID>&
50 if (fRequiredTouchable.size() == fullPVPath.size()) {
52 std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID>::const_iterator
54 for (iNameCopyNo = fRequiredTouchable.begin(), iPVNodeId = fullPVPath.begin();
55 iNameCopyNo != fRequiredTouchable.end();
56 ++iNameCopyNo, ++iPVNodeId) {
58 iNameCopyNo->GetName() ==
59 iPVNodeId->GetPhysicalVolume()->GetName() &&
60 iNameCopyNo->GetCopyNo() ==
61 iPVNodeId->GetPhysicalVolume()->GetCopyNo()
66 if (iNameCopyNo == fRequiredTouchable.end()) {
75 fpSearchPVModel->
Abort();
PVNameCopyNoPath::const_iterator PVNameCopyNoPathConstIterator
std::vector< PVNameCopyNo > PVNameCopyNoPath
G4int GetCurrentPVCopyNo() const
const G4Transform3D & GetCurrentTransform() const
G4VPhysicalVolume * GetCurrentPV() const
const std::vector< G4PhysicalVolumeNodeID > & GetFullPVPath() const
virtual ~G4TouchablePropertiesScene()
G4TouchablePropertiesScene(G4PhysicalVolumeModel *pSearchPVModel, const G4ModelingParameters::PVNameCopyNoPath &requiredTouchable)
G4ModelingParameters::PVNameCopyNoPath fTouchablePath
G4VPhysicalVolume * fpTouchablePV
std::vector< G4PhysicalVolumeNodeID > fTouchableFullPVPath
std::vector< G4PhysicalVolumeNodeID > fTouchableBaseFullPVPath
G4Transform3D fTouchableGlobalTransform