WCSim
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
G4MultiUnion_v1072 Class Reference

#include <G4MultiUnion_v1072.hh>

Inheritance diagram for G4MultiUnion_v1072:
Inheritance graph
Collaboration diagram for G4MultiUnion_v1072:
Collaboration graph

Classes

struct  G4MultiUnionSurface
 

Public Member Functions

 G4MultiUnion_v1072 ()
 
 G4MultiUnion_v1072 (const G4String &name)
 
 ~G4MultiUnion_v1072 ()
 
void AddNode (G4VSolid &solid, G4Transform3D &trans)
 
 G4MultiUnion_v1072 (const G4MultiUnion_v1072 &rhs)
 
G4MultiUnion_v1072operator= (const G4MultiUnion_v1072 &rhs)
 
const G4Transform3D & GetTransformation (G4int index) const
 
G4VSolidGetSolid (G4int index) const
 
G4int GetNumberOfSolids () const
 
EInside Inside (const G4ThreeVector &aPoint) const
 
EInside InsideIterator (const G4ThreeVector &aPoint) const
 
G4double DistanceToIn (const G4ThreeVector &aPoint) const
 
G4double DistanceToOut (const G4ThreeVector &aPoint) const
 
void SetAccurateSafety (G4bool flag)
 
G4double DistanceToIn (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection) const
 
G4double DistanceToOut (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *aNormalVector=nullptr) const
 
G4double DistanceToInNoVoxels (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection) const
 
G4double DistanceToOutVoxels (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector) const
 
G4double DistanceToOutVoxelsCore (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector, G4bool &aConvex, std::vector< G4int > &candidates) const
 
G4double DistanceToOutNoVoxels (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, G4ThreeVector *aNormalVector) const
 
G4ThreeVector SurfaceNormal (const G4ThreeVector &aPoint) const
 
void Extent (EAxis aAxis, G4double &aMin, G4double &aMax) const
 
void BoundingLimits (G4ThreeVector &aMin, G4ThreeVector &aMax) const
 
G4bool CalculateExtent (const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const
 
G4double GetCubicVolume ()
 
G4double GetSurfaceArea ()
 
G4VSolidClone () const
 
G4GeometryType GetEntityType () const
 
void Voxelize ()
 
EInside InsideNoVoxels (const G4ThreeVector &aPoint) const
 
G4Voxelizer_v1072GetVoxels () const
 
std::ostream & StreamInfo (std::ostream &os) const
 
G4ThreeVector GetPointOnSurface () const
 
void DescribeYourselfTo (G4VGraphicsScene &scene) const
 
G4Polyhedron * CreatePolyhedron () const
 
G4Polyhedron * GetPolyhedron () const
 
 G4MultiUnion_v1072 (__void__ &)
 

Private Member Functions

EInside InsideWithExclusion (const G4ThreeVector &aPoint, G4SurfBits *bits=0) const
 
G4int SafetyFromOutsideNumberNode (const G4ThreeVector &aPoint, G4double &safety) const
 
G4double DistanceToInCandidates (const G4ThreeVector &aPoint, const G4ThreeVector &aDirection, std::vector< G4int > &candidates, G4SurfBits &bits) const
 
G4ThreeVector GetLocalPoint (const G4Transform3D &trans, const G4ThreeVector &gpoint) const
 
G4ThreeVector GetLocalVector (const G4Transform3D &trans, const G4ThreeVector &gvec) const
 
G4ThreeVector GetGlobalPoint (const G4Transform3D &trans, const G4ThreeVector &lpoint) const
 
G4ThreeVector GetGlobalVector (const G4Transform3D &trans, const G4ThreeVector &lvec) const
 
void TransformLimits (G4ThreeVector &min, G4ThreeVector &max, const G4Transform3D &transformation) const
 

Private Attributes

std::vector< G4VSolid * > fSolids
 
std::vector< G4Transform3D > fTransformObjs
 
G4Voxelizer_v1072 fVoxels
 
G4double fCubicVolume = 0.0
 
G4double fSurfaceArea = 0.0
 
G4double kRadTolerance
 
G4bool fAccurate = false
 
G4bool fRebuildPolyhedron = false
 
G4Polyhedron * fpPolyhedron = nullptr
 

Friends

class G4Voxelizer_v1072
 

Detailed Description

Definition at line 59 of file G4MultiUnion_v1072.hh.

Constructor & Destructor Documentation

◆ G4MultiUnion_v1072() [1/4]

G4MultiUnion_v1072::G4MultiUnion_v1072 ( )
inline

Definition at line 65 of file G4MultiUnion_v1072.hh.

◆ G4MultiUnion_v1072() [2/4]

G4MultiUnion_v1072::G4MultiUnion_v1072 ( const G4String name)

Definition at line 57 of file G4MultiUnion_v1072.cc.

◆ ~G4MultiUnion_v1072()

G4MultiUnion_v1072::~G4MultiUnion_v1072 ( )

Definition at line 67 of file G4MultiUnion_v1072.cc.

◆ G4MultiUnion_v1072() [3/4]

G4MultiUnion_v1072::G4MultiUnion_v1072 ( const G4MultiUnion_v1072 rhs)

Definition at line 86 of file G4MultiUnion_v1072.cc.

◆ G4MultiUnion_v1072() [4/4]

G4MultiUnion_v1072::G4MultiUnion_v1072 ( __void__ &  a)

Definition at line 95 of file G4MultiUnion_v1072.cc.

Member Function Documentation

◆ AddNode()

void G4MultiUnion_v1072::AddNode ( G4VSolid solid,
G4Transform3D &  trans 
)

Definition at line 72 of file G4MultiUnion_v1072.cc.

◆ BoundingLimits()

void G4MultiUnion_v1072::BoundingLimits ( G4ThreeVector aMin,
G4ThreeVector aMax 
) const

Definition at line 616 of file G4MultiUnion_v1072.cc.

◆ CalculateExtent()

G4bool G4MultiUnion_v1072::CalculateExtent ( const EAxis  pAxis,
const G4VoxelLimits &  pVoxelLimit,
const G4AffineTransform &  pTransform,
G4double pMin,
G4double pMax 
) const

Definition at line 626 of file G4MultiUnion_v1072.cc.

◆ Clone()

G4VSolid * G4MultiUnion_v1072::Clone ( ) const

Definition at line 79 of file G4MultiUnion_v1072.cc.

◆ CreatePolyhedron()

G4Polyhedron * G4MultiUnion_v1072::CreatePolyhedron ( ) const

Definition at line 968 of file G4MultiUnion_v1072.cc.

◆ DescribeYourselfTo()

void G4MultiUnion_v1072::DescribeYourselfTo ( G4VGraphicsScene &  scene) const

Definition at line 962 of file G4MultiUnion_v1072.cc.

◆ DistanceToIn() [1/2]

G4double G4MultiUnion_v1072::DistanceToIn ( const G4ThreeVector aPoint) const

Definition at line 760 of file G4MultiUnion_v1072.cc.

◆ DistanceToIn() [2/2]

G4double G4MultiUnion_v1072::DistanceToIn ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection 
) const

Definition at line 208 of file G4MultiUnion_v1072.cc.

◆ DistanceToInCandidates()

G4double G4MultiUnion_v1072::DistanceToInCandidates ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection,
std::vector< G4int > &  candidates,
G4SurfBits &  bits 
) const
private

Definition at line 172 of file G4MultiUnion_v1072.cc.

◆ DistanceToInNoVoxels()

G4double G4MultiUnion_v1072::DistanceToInNoVoxels ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection 
) const

Definition at line 149 of file G4MultiUnion_v1072.cc.

◆ DistanceToOut() [1/2]

G4double G4MultiUnion_v1072::DistanceToOut ( const G4ThreeVector aPoint) const

Definition at line 723 of file G4MultiUnion_v1072.cc.

◆ DistanceToOut() [2/2]

G4double G4MultiUnion_v1072::DistanceToOut ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection,
const G4bool  calcNorm = false,
G4bool *  validNorm = nullptr,
G4ThreeVector aNormalVector = nullptr 
) const

Definition at line 293 of file G4MultiUnion_v1072.cc.

◆ DistanceToOutNoVoxels()

G4double G4MultiUnion_v1072::DistanceToOutNoVoxels ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection,
G4ThreeVector aNormalVector 
) const

Definition at line 242 of file G4MultiUnion_v1072.cc.

◆ DistanceToOutVoxels()

G4double G4MultiUnion_v1072::DistanceToOutVoxels ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection,
G4ThreeVector aNormalVector 
) const

Definition at line 303 of file G4MultiUnion_v1072.cc.

◆ DistanceToOutVoxelsCore()

G4double G4MultiUnion_v1072::DistanceToOutVoxelsCore ( const G4ThreeVector aPoint,
const G4ThreeVector aDirection,
G4ThreeVector aNormalVector,
G4bool &  aConvex,
std::vector< G4int > &  candidates 
) const

◆ Extent()

void G4MultiUnion_v1072::Extent ( EAxis  aAxis,
G4double aMin,
G4double aMax 
) const

Definition at line 547 of file G4MultiUnion_v1072.cc.

◆ GetCubicVolume()

G4double G4MultiUnion_v1072::GetCubicVolume ( )

Definition at line 119 of file G4MultiUnion_v1072.cc.

◆ GetEntityType()

G4GeometryType G4MultiUnion_v1072::GetEntityType ( ) const
inline

Definition at line 126 of file G4MultiUnion_v1072.hh.

◆ GetGlobalPoint()

G4ThreeVector G4MultiUnion_v1072::GetGlobalPoint ( const G4Transform3D &  trans,
const G4ThreeVector lpoint 
) const
inlineprivate

Definition at line 251 of file G4MultiUnion_v1072.hh.

◆ GetGlobalVector()

G4ThreeVector G4MultiUnion_v1072::GetGlobalVector ( const G4Transform3D &  trans,
const G4ThreeVector lvec 
) const
inlineprivate

Definition at line 263 of file G4MultiUnion_v1072.hh.

◆ GetLocalPoint()

G4ThreeVector G4MultiUnion_v1072::GetLocalPoint ( const G4Transform3D &  trans,
const G4ThreeVector gpoint 
) const
inlineprivate

Definition at line 222 of file G4MultiUnion_v1072.hh.

◆ GetLocalVector()

G4ThreeVector G4MultiUnion_v1072::GetLocalVector ( const G4Transform3D &  trans,
const G4ThreeVector gvec 
) const
inlineprivate

Definition at line 234 of file G4MultiUnion_v1072.hh.

◆ GetNumberOfSolids()

G4int G4MultiUnion_v1072::GetNumberOfSolids ( ) const
inline

Definition at line 209 of file G4MultiUnion_v1072.hh.

◆ GetPointOnSurface()

G4ThreeVector G4MultiUnion_v1072::GetPointOnSurface ( ) const

Definition at line 941 of file G4MultiUnion_v1072.cc.

◆ GetPolyhedron()

G4Polyhedron * G4MultiUnion_v1072::GetPolyhedron ( ) const

Definition at line 993 of file G4MultiUnion_v1072.cc.

◆ GetSolid()

G4VSolid * G4MultiUnion_v1072::GetSolid ( G4int  index) const
inline

Definition at line 203 of file G4MultiUnion_v1072.hh.

◆ GetSurfaceArea()

G4double G4MultiUnion_v1072::GetSurfaceArea ( )

Definition at line 811 of file G4MultiUnion_v1072.cc.

◆ GetTransformation()

const G4Transform3D & G4MultiUnion_v1072::GetTransformation ( G4int  index) const
inline

Definition at line 197 of file G4MultiUnion_v1072.hh.

◆ GetVoxels()

G4Voxelizer_v1072 & G4MultiUnion_v1072::GetVoxels ( ) const
inline

Definition at line 191 of file G4MultiUnion_v1072.hh.

◆ Inside()

EInside G4MultiUnion_v1072::Inside ( const G4ThreeVector aPoint) const

Definition at line 499 of file G4MultiUnion_v1072.cc.

◆ InsideIterator()

EInside G4MultiUnion_v1072::InsideIterator ( const G4ThreeVector aPoint) const

◆ InsideNoVoxels()

EInside G4MultiUnion_v1072::InsideNoVoxels ( const G4ThreeVector aPoint) const

Definition at line 519 of file G4MultiUnion_v1072.cc.

◆ InsideWithExclusion()

EInside G4MultiUnion_v1072::InsideWithExclusion ( const G4ThreeVector aPoint,
G4SurfBits *  bits = 0 
) const
private

Definition at line 425 of file G4MultiUnion_v1072.cc.

◆ operator=()

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

Definition at line 102 of file G4MultiUnion_v1072.cc.

◆ SafetyFromOutsideNumberNode()

G4int G4MultiUnion_v1072::SafetyFromOutsideNumberNode ( const G4ThreeVector aPoint,
G4double safety 
) const
private

Definition at line 827 of file G4MultiUnion_v1072.cc.

◆ SetAccurateSafety()

void G4MultiUnion_v1072::SetAccurateSafety ( G4bool  flag)
inline

Definition at line 215 of file G4MultiUnion_v1072.hh.

◆ StreamInfo()

std::ostream & G4MultiUnion_v1072::StreamInfo ( std::ostream &  os) const

Definition at line 915 of file G4MultiUnion_v1072.cc.

◆ SurfaceNormal()

G4ThreeVector G4MultiUnion_v1072::SurfaceNormal ( const G4ThreeVector aPoint) const

Definition at line 642 of file G4MultiUnion_v1072.cc.

◆ TransformLimits()

void G4MultiUnion_v1072::TransformLimits ( G4ThreeVector min,
G4ThreeVector max,
const G4Transform3D &  transformation 
) const
private

Definition at line 871 of file G4MultiUnion_v1072.cc.

◆ Voxelize()

void G4MultiUnion_v1072::Voxelize ( )

Definition at line 821 of file G4MultiUnion_v1072.cc.

Friends And Related Function Documentation

◆ G4Voxelizer_v1072

friend class G4Voxelizer_v1072
friend

Definition at line 61 of file G4MultiUnion_v1072.hh.

Member Data Documentation

◆ fAccurate

G4bool G4MultiUnion_v1072::fAccurate = false
mutableprivate

Definition at line 184 of file G4MultiUnion_v1072.hh.

◆ fCubicVolume

G4double G4MultiUnion_v1072::fCubicVolume = 0.0
private

Definition at line 181 of file G4MultiUnion_v1072.hh.

◆ fpPolyhedron

G4Polyhedron* G4MultiUnion_v1072::fpPolyhedron = nullptr
mutableprivate

Definition at line 187 of file G4MultiUnion_v1072.hh.

◆ fRebuildPolyhedron

G4bool G4MultiUnion_v1072::fRebuildPolyhedron = false
mutableprivate

Definition at line 186 of file G4MultiUnion_v1072.hh.

◆ fSolids

std::vector<G4VSolid*> G4MultiUnion_v1072::fSolids
private

Definition at line 178 of file G4MultiUnion_v1072.hh.

◆ fSurfaceArea

G4double G4MultiUnion_v1072::fSurfaceArea = 0.0
private

Definition at line 182 of file G4MultiUnion_v1072.hh.

◆ fTransformObjs

std::vector<G4Transform3D> G4MultiUnion_v1072::fTransformObjs
private

Definition at line 179 of file G4MultiUnion_v1072.hh.

◆ fVoxels

G4Voxelizer_v1072 G4MultiUnion_v1072::fVoxels
private

Definition at line 180 of file G4MultiUnion_v1072.hh.

◆ kRadTolerance

G4double G4MultiUnion_v1072::kRadTolerance
private

Definition at line 183 of file G4MultiUnion_v1072.hh.


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