62 "PhysVol representation of LogVol " + pLV -> GetName (),
75 fCheckOverlaps(checkOverlaps)
77 fType =
"G4LogicalVolumeModel";
78 fGlobalTag = fpLV -> GetName ();
79 fGlobalDescription =
"G4LogicalVolumeModel " + fGlobalTag;
90 if (fpMP) nonCulledMP = *fpMP;
97 if (fpTopPV->GetLogicalVolume()->GetVoxelHeader()) {
102 for (
size_t i = 0; i < pPPL -> size (); i++) {
104 const G4Polyhedron& polyhedron = (*pPPL)[i].GetPolyhedron ();
121 <<
"\" with top physical volume \""
131 if (fCheckOverlaps) {
134 for (
G4int iSister = 0; iSister < nSisters; ++iSister) {
151 G4VSolid* pSol0 = pSol -> GetConstituentSolid (0);
153 G4VSolid* pSol1 = pSol -> GetConstituentSolid (1);
156 (
"G4PhysicalVolumeModel::DescribeSolid",
158 "2nd component solid in Boolean is missing.");
163 DescribeSolid (theAT, pSol0, &constituentAttributes, sceneHandler);
164 DescribeSolid (theAT, pSol1, &constituentAttributes, sceneHandler);
170 pSol -> DescribeYourselfTo (sceneHandler);
CLHEP::Hep3Vector G4ThreeVector
void DescribeYourselfTo(G4VGraphicsScene &)
G4VPhysicalVolume * GetROWorld() const
virtual void EndPrimitives()=0
G4int GetNoDaughters() const
void DescribeYourselfTo(G4VGraphicsScene &)
G4PlacedPolyhedronList * CreatePlacedPolyhedra(const G4LogicalVolume *) const
virtual void BeginPrimitives(const G4Transform3D &objectTransformation=G4Transform3D())=0
void SetModelingParameters(const G4ModelingParameters *)
G4VReadOutGeometry * GetROgeometry() const
std::vector< G4PlacedPolyhedron > G4PlacedPolyhedronList
virtual void AddPrimitive(const G4Polyline &)=0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4LogicalVolumeModel(G4LogicalVolume *, G4int soughtDepth=1, G4bool booleans=true, G4bool voxels=true, G4bool readout=true, G4bool checkOverlaps=true, const G4Transform3D &modelTransformation=G4Transform3D(), const G4ModelingParameters *=0)
virtual void PostAddSolid()=0
G4GLOB_DLL std::ostream G4cout
void SetForceWireframe(G4bool=true)
virtual ~G4LogicalVolumeModel()
const G4String & GetName() const
G4VPhysicalVolume * GetDaughter(const G4int i) const
G4bool CheckOverlaps(G4int res=1000, G4double tol=0., G4bool verbose=true, G4int maxErr=1)
virtual void PreAddSolid(const G4Transform3D &objectTransformation, const G4VisAttributes &visAttribs)=0
void DescribeSolid(const G4Transform3D &theAT, G4VSolid *pSol, const G4VisAttributes *pVisAttribs, G4VGraphicsScene &sceneHandler)