52 fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo)
57 if (pLogical == motherLogical)
59 G4Exception(
"G4PVPlacement::G4PVPlacement()",
"GeomVol0002",
79 Transform3D.getTranslation(),pName,pLogical,pMother),
80 fmany(pMany), fcopyNo(pCopyNo)
86 if (pLogical == motherLogical)
87 G4Exception(
"G4PVPlacement::G4PVPlacement()",
"GeomVol0002",
109 fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo)
111 if (pCurrentLogical == pMotherLogical)
113 G4Exception(
"G4PVPlacement::G4PVPlacement()",
"GeomVol0002",
117 if (pMotherLogical) { pMotherLogical->
AddDaughter(
this); }
133 fmany(pMany), fcopyNo(pCopyNo)
135 if (pCurrentLogical == pMotherLogical)
137 G4Exception(
"G4PVPlacement::G4PVPlacement()",
"GeomVol0002",
143 if (pMotherLogical) { pMotherLogical->
AddDaughter(
this); }
161 if( fallocatedRotM ){
delete frot; }
246 if (res<=0) {
return false; }
250 if (!motherLog) {
return false; }
256 G4cout <<
"Checking overlaps for volume " <<
GetName() <<
" ... ";
280 std::ostringstream message;
281 message <<
"Overlap with mother volume !" <<
G4endl
282 <<
" Overlap is detected for volume "
284 <<
" with its mother volume "
286 <<
" at mother local point " << mp <<
", "
287 <<
"overlapping by at least: "
301 if (daughter ==
this) {
continue; }
315 std::ostringstream message;
316 message <<
"Overlap with volume already placed !" <<
G4endl
317 <<
" Overlap is detected for volume "
319 <<
" with " << daughter->
GetName() <<
" volume's"
321 <<
" local point " << md <<
", "
322 <<
"overlapping by at least: "
348 std::ostringstream message;
349 message <<
"Overlap with volume already placed !" <<
G4endl
350 <<
" Overlap is detected for volume "
352 <<
" apparently fully encapsulating volume "
354 <<
" at the same level !";