56 OlapManager::OlapManager()
57 : olapGenerator(0), eventsPerRun(27), lvPos(0),
58 polyMode(false), interrupt(false)
66 theRunManager->GetUserDetectorConstruction();
73 "Can't get the OlapDetConstr instance! Exiting...");
80 theGeoNav =
new G4GeoNav(theDet->GetFullWorld()->GetLogicalVolume());
82 std::vector<G4LogicalVolume*>::iterator aIt2;
83 for (aIt2=theLVStore->begin(); aIt2 != theLVStore->end(); aIt2++)
84 NoOlapMap[*aIt2] =
false;
123 G4cout <<
"Warning: Primary generator is not OlapGenerator!" <<
G4endl
124 <<
" Overlap Detection will not work!" <<
G4endl;
129 theRunManager->
BeamOn(eventsPerRun);
145 G4cout <<
"Warning: Primary generator is not OlapGenerator!" <<
G4endl
146 <<
" Overlap Detection will not work!" <<
G4endl;
156 while (
Next() && trg)
159 GetLogicalVolume()->GetNoDaughters())
161 theRunManager->
BeamOn(eventsPerRun);
197 G4cout <<
"Logical volumes matching " << aRegexStr <<
":" <<
G4endl;
199 std::vector<G4LogicalVolume *> aLVVec;
211 std::vector<G4LogicalVolume *> lvs;
213 for (
G4int i = 0; i<
c; i++)
219 std::vector<G4LogicalVolume *> lvs;
220 theGeoNav->
PwdLV(lvs);
223 for (
G4int i=lvs.size()-1; i>=0; i--)
250 std::vector<G4LogicalVolume*> lvs;
251 if (theGeoNav->
FilterLV(aRegexStr,lvs,
true))
253 G4cout <<
"New world: " << (lvs[0])->GetName() <<
G4endl;
282 G4cout <<
"Warning: Primary generator is not OlapGenerator!" <<
G4endl
283 <<
" Overlap Detection will not work!" <<
G4endl;
287 eventsPerRun = x*y + y*z + x*
z;
288 G4cout <<
"/olap/trigger will trigger "
296 std::set<OlapNotify*>::iterator i = theNotifs.begin();
297 for(;i!=theNotifs.end();++i)
298 (*i)->worldChanged(nw);
304 std::set<OlapNotify*>::iterator i = theNotifs.begin();
305 for(;i!=theNotifs.end();++i)