41 #include "HepPolyhedronProcessor.h" 
   58   G4VSolid(pName), fAreaRatio(0.), fStatistics(1000000), fCubVolEpsilon(0.001),
 
   59   fAreaAccuracy(-1.), fCubicVolume(0.), fSurfaceArea(0.),
 
   60   fRebuildPolyhedron(false), fpPolyhedron(0), createdDisplacedSolid(false)
 
   75   G4VSolid(pName), fAreaRatio(0.), fStatistics(1000000), fCubVolEpsilon(0.001),
 
   76   fAreaAccuracy(-1.), fCubicVolume(0.), fSurfaceArea(0.),
 
   77   fRebuildPolyhedron(false), fpPolyhedron(0), createdDisplacedSolid(true)
 
   91   G4VSolid(pName), fAreaRatio(0.), fStatistics(1000000), fCubVolEpsilon(0.001),
 
   92   fAreaAccuracy(-1.), fCubicVolume(0.), fSurfaceArea(0.),
 
   93   fRebuildPolyhedron(false), fpPolyhedron(0), createdDisplacedSolid(true)
 
  105   : 
G4VSolid(a), fPtrSolidA(0), fPtrSolidB(0), fAreaRatio(0.),
 
  106     fStatistics(1000000), fCubVolEpsilon(0.001), 
 
  107     fAreaAccuracy(-1.), fCubicVolume(0.), fSurfaceArea(0.),
 
  108     fRebuildPolyhedron(false), fpPolyhedron(0), createdDisplacedSolid(false)
 
  130   : 
G4VSolid (rhs), fPtrSolidA(rhs.fPtrSolidA), fPtrSolidB(rhs.fPtrSolidB),
 
  131     fAreaRatio(rhs.fAreaRatio),
 
  132     fStatistics(rhs.fStatistics), fCubVolEpsilon(rhs.fCubVolEpsilon),
 
  133     fAreaAccuracy(rhs.fAreaAccuracy), fCubicVolume(rhs.fCubicVolume),
 
  134     fSurfaceArea(rhs.fSurfaceArea), fRebuildPolyhedron(false), fpPolyhedron(0),
 
  135     createdDisplacedSolid(rhs.createdDisplacedSolid)
 
  147   if (
this == &rhs)  { 
return *
this; }
 
  183     G4Exception(
"G4BooleanSolid::GetConstituentSolid()",
 
  206     G4Exception(
"G4BooleanSolid::GetConstituentSolid()",
 
  228   os << 
"-----------------------------------------------------------\n" 
  229      << 
"    *** Dump for Boolean solid - " << 
GetName() << 
" ***\n" 
  230      << 
"    ===================================================\n" 
  232      << 
" Parameters of constituent solids: \n" 
  233      << 
"===========================================================\n";
 
  236   os << 
"===========================================================\n";
 
  291   HepPolyhedronProcessor::Operation operation;
 
  293   if (type == 
"G4UnionSolid")
 
  294     { operation = HepPolyhedronProcessor::UNION; }
 
  295   else if (type == 
"G4IntersectionSolid")
 
  296     { operation = HepPolyhedronProcessor::INTERSECTION; }
 
  297   else if (type == 
"G4SubtractionSolid")
 
  298     { operation = HepPolyhedronProcessor::SUBTRACTION; }
 
  301     std::ostringstream message;
 
  302     message << 
"Solid - " << solid->
GetName()
 
  303             << 
" - Unrecognised composite solid" << 
G4endl 
  304             << 
" Returning NULL !";
 
  322   processor.push_back (operation, *operand);
 
virtual G4Polyhedron * GetPolyhedron() const 
 
virtual G4Polyhedron * GetPolyhedron() const 
 
G4BooleanSolid(const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB)
 
CLHEP::Hep3Vector G4ThreeVector
 
CLHEP::HepRotation G4RotationMatrix
 
virtual G4GeometryType GetEntityType() const 
 
virtual G4GeometryType GetEntityType() const =0
 
#define G4MUTEX_INITIALIZER
 
static int operand(pchar begin, pchar end, double &result, pchar &endp, const dic_type &dictionary)
 
G4bool createdDisplacedSolid
 
virtual std::ostream & StreamInfo(std::ostream &os) const =0
 
virtual EInside Inside(const G4ThreeVector &p) const =0
 
std::ostream & StreamInfo(std::ostream &os) const 
 
G4Polyhedron * fpPolyhedron
 
virtual G4Polyhedron * CreatePolyhedron() const 
 
virtual ~G4BooleanSolid()
 
virtual const G4VSolid * GetConstituentSolid(G4int no) const 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4double GetAreaRatio() const 
 
virtual G4ThreeVector GetPointOnSurface() const 
 
virtual const G4VSolid * GetConstituentSolid(G4int no) const 
 
G4bool fRebuildPolyhedron
 
G4ThreeVector GetPointOnSurface() const 
 
G4VSolid & operator=(const G4VSolid &rhs)
 
G4int GetNumberOfRotationStepsAtTimeOfCreation() const 
 
G4BooleanSolid & operator=(const G4BooleanSolid &rhs)
 
G4Polyhedron * StackPolyhedron(HepPolyhedronProcessor &, const G4VSolid *) const