52     fmany(pMany), fallocatedRotM(false), fcopyNo(pCopyNo)
    57     if (pLogical == motherLogical)
    59       G4Exception(
"G4PVPlacement::G4PVPlacement()", 
"GeomVol0002",
    79                       Transform3D.getTranslation(),pName,pLogical,pMother),
    86     if (pLogical == motherLogical)
    87       G4Exception(
"G4PVPlacement::G4PVPlacement()", 
"GeomVol0002",
   111   if (pCurrentLogical == pMotherLogical)
   113     G4Exception(
"G4PVPlacement::G4PVPlacement()", 
"GeomVol0002",
   117   if (pMotherLogical) { pMotherLogical->
AddDaughter(
this); }
   135   if (pCurrentLogical == pMotherLogical)
   137     G4Exception(
"G4PVPlacement::G4PVPlacement()", 
"GeomVol0002",
   143   if (pMotherLogical) { pMotherLogical->
AddDaughter(
this); }
   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; }
 G4VPVParameterisation * GetParameterisation() const
 
const G4RotationMatrix * GetRotation() const
 
G4int GetNoDaughters() const
 
CLHEP::HepRotation G4RotationMatrix
 
G4int GetRegularStructureId() const
 
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1 
 
virtual G4ThreeVector GetPointOnSurface() const
 
void SetRotation(G4RotationMatrix *)
 
G4GLOB_DLL std::ostream G4cout
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
const G4String & GetName() const
 
G4PVPlacement(G4RotationMatrix *pRot, const G4ThreeVector &tlate, G4LogicalVolume *pCurrentLogical, const G4String &pName, G4LogicalVolume *pMotherLogical, G4bool pMany, G4int pCopyNo, G4bool pSurfChk=false)
 
G4bool IsRegularStructure() 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)
 
void GetReplicationData(EAxis &axis, G4int &nReplicas, G4double &width, G4double &offset, G4bool &consuming) const
 
const G4String & GetName() const
 
G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)
 
G4LogicalVolume * GetMotherLogical() const
 
void SetCopyNo(G4int CopyNo)
 
G4bool IsReplicated() const
 
G4VPhysicalVolume * GetDaughter(const G4int i) const
 
G4bool IsParameterised() const
 
void SetMotherLogical(G4LogicalVolume *pMother)
 
HepRotation inverse() const
 
virtual G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const =0
 
void AddDaughter(G4VPhysicalVolume *p)
 
G4LogicalVolume * GetLogicalVolume() const
 
const G4ThreeVector & GetTranslation() const
 
G4VSolid * GetSolid() const
 
static G4RotationMatrix * NewPtrRotMatrix(const G4RotationMatrix &RotMat)