239 if (res<=0) {
return false; }
243 if (!motherLog) {
return false; }
252 G4cout <<
"Checking overlaps for volume " <<
GetName() <<
" ... ";
276 trials++; retval =
true;
277 std::ostringstream message;
278 message <<
"Overlap with mother volume !" <<
G4endl 279 <<
" Overlap is detected for volume " 281 <<
" with its mother volume " 283 <<
" at mother local point " << mp <<
", " 284 <<
"overlapping by at least: " 289 <<
"NOTE: Reached maximum fixed number -" << maxErr
290 <<
"- of overlaps reports for this volume !";
294 if (trials>=maxErr) {
return true; }
304 if (daughter ==
this) {
continue; }
318 trials++; retval =
true;
319 std::ostringstream message;
320 message <<
"Overlap with volume already placed !" <<
G4endl 321 <<
" Overlap is detected for volume " 323 <<
" with " << daughter->
GetName() <<
" volume's" 325 <<
" local point " << md <<
", " 326 <<
"overlapping by at least: " 331 <<
"NOTE: Reached maximum fixed number -" << maxErr
332 <<
"- of overlaps reports for this volume !";
336 if (trials>=maxErr) {
return true; }
358 trials++; retval =
true;
359 std::ostringstream message;
360 message <<
"Overlap with volume already placed !" <<
G4endl 361 <<
" Overlap is detected for volume " 363 <<
" apparently fully encapsulating volume " 365 <<
" at the same level !";
368 if (trials>=maxErr) {
return true; }
const G4RotationMatrix * GetRotation() const
G4int GetNoDaughters() const
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
virtual G4ThreeVector GetPointOnSurface() const
G4GLOB_DLL std::ostream G4cout
virtual EInside Inside(const G4ThreeVector &p) const =0
const G4String & GetName() const
virtual G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const =0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
const G4String & GetName() const
G4LogicalVolume * GetMotherLogical() const
G4VPhysicalVolume * GetDaughter(const G4int i) const
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
G4LogicalVolume * GetLogicalVolume() const
const G4ThreeVector & GetTranslation() const
G4VSolid * GetSolid() const