ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4BooleanSolid Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/Boolean/include/G4BooleanSolid.hh>

+ Inheritance diagram for G4BooleanSolid:
+ Collaboration diagram for G4BooleanSolid:

Public Member Functions

 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB)
 
 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB, G4RotationMatrix *rotMatrix, const G4ThreeVector &transVector)
 
 G4BooleanSolid (const G4String &pName, G4VSolid *pSolidA, G4VSolid *pSolidB, const G4Transform3D &transform)
 
virtual ~G4BooleanSolid ()
 
virtual const G4VSolidGetConstituentSolid (G4int no) const
 
virtual G4VSolidGetConstituentSolid (G4int no)
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
virtual G4GeometryType GetEntityType () const
 
virtual G4PolyhedronGetPolyhedron () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
G4int GetCubVolStatistics () const
 
G4double GetCubVolEpsilon () const
 
void SetCubVolStatistics (G4int st)
 
void SetCubVolEpsilon (G4double ep)
 
G4int GetAreaStatistics () const
 
G4double GetAreaAccuracy () const
 
void SetAreaStatistics (G4int st)
 
void SetAreaAccuracy (G4double ep)
 
G4ThreeVector GetPointOnSurface () const
 
 G4BooleanSolid (__void__ &)
 
 G4BooleanSolid (const G4BooleanSolid &rhs)
 
G4BooleanSolidoperator= (const G4BooleanSolid &rhs)
 
- Public Member Functions inherited from G4VSolid
 G4VSolid (const G4String &name)
 
virtual ~G4VSolid ()
 
G4bool operator== (const G4VSolid &s) const
 
G4String GetName () const
 
void SetName (const G4String &name)
 
G4double GetTolerance () const
 
virtual void BoundingLimits (G4ThreeVector &pMin, G4ThreeVector &pMax) const
 
virtual G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
 
virtual EInside Inside (const G4ThreeVector &p) const =0
 
virtual G4ThreeVector SurfaceNormal (const G4ThreeVector &p) const =0
 
virtual G4double DistanceToIn (const G4ThreeVector &p, const G4ThreeVector &v) const =0
 
virtual G4double DistanceToIn (const G4ThreeVector &p) const =0
 
virtual G4double DistanceToOut (const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const =0
 
virtual G4double DistanceToOut (const G4ThreeVector &p) const =0
 
virtual void ComputeDimensions (G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep)
 
virtual G4VSolidClone () const
 
void DumpInfo () const
 
virtual void DescribeYourselfTo (G4VGraphicsScene &scene) const =0
 
virtual G4VisExtent GetExtent () const
 
virtual G4PolyhedronCreatePolyhedron () const
 
virtual const G4DisplacedSolidGetDisplacedSolidPtr () const
 
virtual G4DisplacedSolidGetDisplacedSolidPtr ()
 
 G4VSolid (__void__ &)
 
 G4VSolid (const G4VSolid &rhs)
 
G4VSolidoperator= (const G4VSolid &rhs)
 
G4double EstimateCubicVolume (G4int nStat, G4double epsilon) const
 
G4double EstimateSurfaceArea (G4int nStat, G4double ell) const
 

Protected Member Functions

void GetListOfPrimitives (std::vector< std::pair< G4VSolid *, G4Transform3D >> &, const G4Transform3D &) const
 
G4PolyhedronStackPolyhedron (HepPolyhedronProcessor &, const G4VSolid *) const
 
- Protected Member Functions inherited from G4VSolid
void CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const
 
void ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const
 

Protected Attributes

G4VSolidfPtrSolidA = nullptr
 
G4VSolidfPtrSolidB = nullptr
 
- Protected Attributes inherited from G4VSolid
G4double kCarTolerance
 

Private Attributes

G4int fStatistics = 1000000
 
G4double fCubVolEpsilon = 0.001
 
G4double fAreaAccuracy = -1
 
G4double fCubicVolume = -1.0
 
G4double fSurfaceArea = -1.0
 
G4bool fRebuildPolyhedron = false
 
G4PolyhedronfpPolyhedron = nullptr
 
std::vector< std::pair
< G4VSolid *, G4Transform3D > > 
fPrimitives
 
G4double fPrimitivesSurfaceArea = 0.0
 
G4bool createdDisplacedSolid = false
 

Detailed Description

Definition at line 46 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 46 of file G4BooleanSolid.hh

Constructor & Destructor Documentation

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB 
)

Definition at line 52 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 52 of file G4BooleanSolid.cc

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB,
G4RotationMatrix rotMatrix,
const G4ThreeVector transVector 
)

Definition at line 63 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 63 of file G4BooleanSolid.cc

References fPtrSolidA, and fPtrSolidB.

G4BooleanSolid::G4BooleanSolid ( const G4String pName,
G4VSolid pSolidA,
G4VSolid pSolidB,
const G4Transform3D transform 
)

Definition at line 78 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 78 of file G4BooleanSolid.cc

References fPtrSolidA, and fPtrSolidB.

G4BooleanSolid::~G4BooleanSolid ( )
virtual

Definition at line 102 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 102 of file G4BooleanSolid.cc

References createdDisplacedSolid, fpPolyhedron, and fPtrSolidB.

G4BooleanSolid::G4BooleanSolid ( __void__ &  a)

Definition at line 93 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 93 of file G4BooleanSolid.cc

G4BooleanSolid::G4BooleanSolid ( const G4BooleanSolid rhs)

Definition at line 115 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 115 of file G4BooleanSolid.cc

References fPrimitives, and fPrimitivesSurfaceArea.

Member Function Documentation

G4double G4BooleanSolid::GetAreaAccuracy ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4int G4BooleanSolid::GetAreaStatistics ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

const G4VSolid * G4BooleanSolid::GetConstituentSolid ( G4int  no) const
virtual

Reimplemented from G4VSolid.

Definition at line 159 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 159 of file G4BooleanSolid.cc

References G4VSolid::DumpInfo(), FatalException, fPtrSolidA, fPtrSolidB, and G4Exception().

Referenced by G4tgbGeometryDumper::DumpBooleanVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VSolid * G4BooleanSolid::GetConstituentSolid ( G4int  no)
virtual

Reimplemented from G4VSolid.

Definition at line 181 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 181 of file G4BooleanSolid.cc

References G4VSolid::DumpInfo(), FatalException, fPtrSolidA, fPtrSolidB, and G4Exception().

+ Here is the call graph for this function:

G4double G4BooleanSolid::GetCubicVolume ( )
inlinevirtual

Reimplemented from G4VSolid.

G4double G4BooleanSolid::GetCubVolEpsilon ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4int G4BooleanSolid::GetCubVolStatistics ( ) const
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4GeometryType G4BooleanSolid::GetEntityType ( ) const
virtual

Implements G4VSolid.

Reimplemented in G4SubtractionSolid, G4IntersectionSolid, and G4UnionSolid.

Definition at line 201 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 201 of file G4BooleanSolid.cc

Referenced by StreamInfo().

+ Here is the caller graph for this function:

void G4BooleanSolid::GetListOfPrimitives ( std::vector< std::pair< G4VSolid *, G4Transform3D >> &  primitives,
const G4Transform3D curPlacement 
) const
protected

Definition at line 229 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 229 of file G4BooleanSolid.cc

References fPtrSolidA, fPtrSolidB, G4VSolid::GetEntityType(), and Acts::Test::transform.

Referenced by GetPointOnSurface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4BooleanSolid::GetPointOnSurface ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 293 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 293 of file G4BooleanSolid.cc

References fPrimitives, fPrimitivesSurfaceArea, G4Exception(), G4QuickRand(), GetListOfPrimitives(), G4VSolid::GetName(), G4VSolid::Inside(), JustWarning, k, kSurface, and message().

Referenced by export_G4BooleanSolid().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4Polyhedron * G4BooleanSolid::GetPolyhedron ( ) const
virtual

Reimplemented from G4VSolid.

Definition at line 342 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 342 of file G4BooleanSolid.cc

References G4VSolid::CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, HepPolyhedron::GetNumberOfRotationSteps(), G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< _Mutex_t >::unlock().

+ Here is the call graph for this function:

G4double G4BooleanSolid::GetSurfaceArea ( )
inlinevirtual

Reimplemented from G4VSolid.

G4BooleanSolid & G4BooleanSolid::operator= ( const G4BooleanSolid rhs)

Definition at line 129 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 129 of file G4BooleanSolid.cc

References createdDisplacedSolid, fAreaAccuracy, fCubicVolume, fCubVolEpsilon, fpPolyhedron, fPrimitives, fPrimitivesSurfaceArea, fPtrSolidA, fPtrSolidB, fRebuildPolyhedron, fStatistics, fSurfaceArea, and G4VSolid::operator=().

Referenced by G4IntersectionSolid::operator=(), G4UnionSolid::operator=(), and G4SubtractionSolid::operator=().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4BooleanSolid::SetAreaAccuracy ( G4double  ep)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetAreaStatistics ( G4int  st)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetCubVolEpsilon ( G4double  ep)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

void G4BooleanSolid::SetCubVolStatistics ( G4int  st)
inline

Referenced by export_G4BooleanSolid().

+ Here is the caller graph for this function:

G4Polyhedron * G4BooleanSolid::StackPolyhedron ( HepPolyhedronProcessor processor,
const G4VSolid solid 
) const
protected

Definition at line 363 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 363 of file G4BooleanSolid.cc

References G4endl, G4Exception(), G4VSolid::GetConstituentSolid(), G4VSolid::GetEntityType(), G4VSolid::GetName(), G4VSolid::GetPolyhedron(), HepPolyhedronProcessor::INTERSECTION, JustWarning, message(), operand(), HepPolyhedronProcessor::push_back(), HepPolyhedronProcessor::SUBTRACTION, and HepPolyhedronProcessor::UNION.

Referenced by G4IntersectionSolid::CreatePolyhedron(), G4UnionSolid::CreatePolyhedron(), and G4SubtractionSolid::CreatePolyhedron().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::ostream & G4BooleanSolid::StreamInfo ( std::ostream &  os) const
virtual

Implements G4VSolid.

Definition at line 210 of file G4BooleanSolid.cc.

View newest version in sPHENIX GitHub at line 210 of file G4BooleanSolid.cc

References fPtrSolidA, fPtrSolidB, GetEntityType(), G4VSolid::GetName(), and G4VSolid::StreamInfo().

+ Here is the call graph for this function:

Member Data Documentation

G4bool G4BooleanSolid::createdDisplacedSolid = false
private

Definition at line 133 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 133 of file G4BooleanSolid.hh

Referenced by operator=(), and ~G4BooleanSolid().

G4double G4BooleanSolid::fAreaAccuracy = -1
private

Definition at line 123 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 123 of file G4BooleanSolid.hh

Referenced by operator=().

G4double G4BooleanSolid::fCubicVolume = -1.0
private

Definition at line 124 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 124 of file G4BooleanSolid.hh

Referenced by operator=().

G4double G4BooleanSolid::fCubVolEpsilon = 0.001
private

Definition at line 122 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 122 of file G4BooleanSolid.hh

Referenced by operator=().

G4Polyhedron* G4BooleanSolid::fpPolyhedron = nullptr
mutableprivate

Definition at line 128 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 128 of file G4BooleanSolid.hh

Referenced by GetPolyhedron(), operator=(), and ~G4BooleanSolid().

std::vector<std::pair<G4VSolid *,G4Transform3D> > G4BooleanSolid::fPrimitives
mutableprivate

Definition at line 130 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 130 of file G4BooleanSolid.hh

Referenced by G4BooleanSolid(), GetPointOnSurface(), and operator=().

G4double G4BooleanSolid::fPrimitivesSurfaceArea = 0.0
mutableprivate

Definition at line 131 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 131 of file G4BooleanSolid.hh

Referenced by G4BooleanSolid(), GetPointOnSurface(), and operator=().

G4bool G4BooleanSolid::fRebuildPolyhedron = false
mutableprivate

Definition at line 127 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 127 of file G4BooleanSolid.hh

Referenced by GetPolyhedron(), and operator=().

G4int G4BooleanSolid::fStatistics = 1000000
private

Definition at line 121 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 121 of file G4BooleanSolid.hh

Referenced by operator=().

G4double G4BooleanSolid::fSurfaceArea = -1.0
private

Definition at line 125 of file G4BooleanSolid.hh.

View newest version in sPHENIX GitHub at line 125 of file G4BooleanSolid.hh

Referenced by operator=().


The documentation for this class was generated from the following files: