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

#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/include/G4Voxelizer.hh>

+ Collaboration diagram for G4Voxelizer:

Classes

class  G4VoxelComparator
 

Public Member Functions

void Voxelize (std::vector< G4VSolid * > &solids, std::vector< G4Transform3D > &transforms)
 
void Voxelize (std::vector< G4VFacet * > &facets)
 
void DisplayVoxelLimits () const
 
void DisplayBoundaries ()
 
void DisplayListNodes () const
 
 G4Voxelizer ()
 
 ~G4Voxelizer ()
 
void GetCandidatesVoxel (std::vector< G4int > &voxels)
 
G4int GetCandidatesVoxelArray (const G4ThreeVector &point, std::vector< G4int > &list, G4SurfBits *crossed=nullptr) const
 
G4int GetCandidatesVoxelArray (const std::vector< G4int > &voxels, const G4SurfBits bitmasks[], std::vector< G4int > &list, G4SurfBits *crossed=nullptr) const
 
G4int GetCandidatesVoxelArray (const std::vector< G4int > &voxels, std::vector< G4int > &list, G4SurfBits *crossed=nullptr) const
 
const std::vector< G4VoxelBox > & GetBoxes () const
 
const std::vector< G4double > & GetBoundary (G4int index) const
 
G4bool UpdateCurrentVoxel (const G4ThreeVector &point, const G4ThreeVector &direction, std::vector< G4int > &curVoxel) const
 
void GetVoxel (std::vector< G4int > &curVoxel, const G4ThreeVector &point) const
 
G4int GetBitsPerSlice () const
 
G4bool Contains (const G4ThreeVector &point) const
 
G4double DistanceToNext (const G4ThreeVector &point, const G4ThreeVector &direction, std::vector< G4int > &curVoxel) const
 
G4double DistanceToFirst (const G4ThreeVector &point, const G4ThreeVector &direction) const
 
G4double DistanceToBoundingBox (const G4ThreeVector &point) const
 
G4int GetVoxelsIndex (G4int x, G4int y, G4int z) const
 
G4int GetVoxelsIndex (const std::vector< G4int > &voxels) const
 
G4bool GetPointVoxel (const G4ThreeVector &p, std::vector< G4int > &voxels) const
 
G4int GetPointIndex (const G4ThreeVector &p) const
 
const G4SurfBitsEmpty () const
 
G4bool IsEmpty (G4int index) const
 
void SetMaxVoxels (G4int max)
 
void SetMaxVoxels (const G4ThreeVector &reductionRatio)
 
G4int GetMaxVoxels (G4ThreeVector &ratioOfReduction)
 
G4int AllocatedMemory ()
 
long long GetCountOfVoxels () const
 
long long CountVoxels (std::vector< G4double > boundaries[]) const
 
const std::vector< G4int > & GetCandidates (std::vector< G4int > &curVoxel) const
 
G4int GetVoxelBoxesSize () const
 
const G4VoxelBoxGetVoxelBox (G4int i) const
 
const std::vector< G4int > & GetVoxelBoxCandidates (G4int i) const
 
G4int GetTotalCandidates () const
 

Static Public Member Functions

template<typename T >
static G4int BinarySearch (const std::vector< T > &vec, T value)
 
static G4double MinDistanceToBox (const G4ThreeVector &aPoint, const G4ThreeVector &f)
 
static void SetDefaultVoxelsCount (G4int count)
 
static G4int GetDefaultVoxelsCount ()
 

Private Member Functions

void BuildEmpty ()
 
G4String GetCandidatesAsString (const G4SurfBits &bits) const
 
void CreateSortedBoundary (std::vector< G4double > &boundaryRaw, G4int axis)
 
void BuildBoundaries ()
 
void BuildReduceVoxels (std::vector< G4double > fBoundaries[], G4ThreeVector reductionRatio)
 
void BuildReduceVoxels2 (std::vector< G4double > fBoundaries[], G4ThreeVector reductionRatio)
 
void BuildVoxelLimits (std::vector< G4VSolid * > &solids, std::vector< G4Transform3D > &transforms)
 
void BuildVoxelLimits (std::vector< G4VFacet * > &facets)
 
void DisplayBoundaries (std::vector< G4double > &fBoundaries)
 
void BuildBitmasks (std::vector< G4double > fBoundaries[], G4SurfBits bitmasks[], G4bool countsOnly=false)
 
void BuildBoundingBox ()
 
void BuildBoundingBox (G4ThreeVector &amin, G4ThreeVector &amax, G4double tolerance=0.0)
 
void SetReductionRatio (G4int maxVoxels, G4ThreeVector &reductionRatio)
 
void CreateMiniVoxels (std::vector< G4double > fBoundaries[], G4SurfBits bitmasks[])
 
G4ThreeVector GetGlobalPoint (const G4Transform3D &trans, const G4ThreeVector &lpoint) const
 
void TransformLimits (G4ThreeVector &min, G4ThreeVector &max, const G4Transform3D &transformation) const
 

Static Private Member Functions

static void FindComponentsFastest (unsigned int mask, std::vector< G4int > &list, G4int i)
 

Private Attributes

std::vector< G4VoxelBoxfVoxelBoxes
 
std::vector< std::vector< G4int > > fVoxelBoxesCandidates
 
std::map< G4int, std::vector
< G4int > > 
fCandidates
 
const std::vector< G4intfNoCandidates
 
long long fCountOfVoxels
 
G4int fNPerSlice
 
std::vector< G4VoxelBoxfBoxes
 
std::vector< G4doublefBoundaries [3]
 
std::vector< G4intfCandidatesCounts [3]
 
G4int fTotalCandidates
 
G4SurfBits fBitmasks [3]
 
G4ThreeVector fBoundingBoxCenter
 
G4Box fBoundingBox
 
G4ThreeVector fBoundingBoxSize
 
G4ThreeVector fReductionRatio
 
G4int fMaxVoxels
 
G4double fTolerance
 
G4SurfBits fEmpty
 

Static Private Attributes

static G4ThreadLocal G4int fDefaultVoxelsCount = -1
 

Detailed Description

Definition at line 62 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 62 of file G4Voxelizer.hh

Constructor & Destructor Documentation

G4Voxelizer::G4Voxelizer ( )

Definition at line 55 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 55 of file G4Voxelizer.cc

References G4SolidStore::DeRegister(), fBoundingBox, fCountOfVoxels, fDefaultVoxelsCount, fNPerSlice, fTolerance, fTotalCandidates, G4GeometryTolerance::GetInstance(), G4SolidStore::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and SetMaxVoxels().

+ Here is the call graph for this function:

G4Voxelizer::~G4Voxelizer ( )

Definition at line 68 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 68 of file G4Voxelizer.cc

Member Function Documentation

G4int G4Voxelizer::AllocatedMemory ( )

Definition at line 1365 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1365 of file G4Voxelizer.cc

References fBitmasks, fBoundaries, fBoxes, fCandidates, fCandidatesCounts, fEmpty, and G4SurfBits::GetNbytes().

Referenced by G4TessellatedSolid::AllocatedMemory().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename T >
static G4int G4Voxelizer::BinarySearch ( const std::vector< T > &  vec,
T  value 
)
inlinestatic

Referenced by BuildBitmasks(), GetCandidatesVoxelArray(), and UpdateCurrentVoxel().

+ Here is the caller graph for this function:

void G4Voxelizer::BuildBitmasks ( std::vector< G4double fBoundaries[],
G4SurfBits  bitmasks[],
G4bool  countsOnly = false 
)
private

Definition at line 356 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 356 of file G4Voxelizer.cc

References BinarySearch(), G4SurfBits::Clear(), d, fBoxes, fCandidatesCounts, G4cout, G4endl, GetBitsPerSlice(), k, max, min, G4SurfBits::SetBitNumber(), and G4INCL::CrossSections::total().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildBoundaries ( )
private

Definition at line 249 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 249 of file G4Voxelizer.cc

References kdfinder::abs(), CreateSortedBoundary(), fBoundaries, fBoxes, fTolerance, G4cout, G4endl, max, n, and Acts::IntegrationTest::skip.

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildBoundingBox ( )
private

Definition at line 461 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 461 of file G4Voxelizer.cc

References fBoundaries, max, and min.

Referenced by Voxelize().

+ Here is the caller graph for this function:

void G4Voxelizer::BuildBoundingBox ( G4ThreeVector amin,
G4ThreeVector amax,
G4double  tolerance = 0.0 
)
private

Definition at line 473 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 473 of file G4Voxelizer.cc

References fBoundingBox, fBoundingBoxCenter, fBoundingBoxSize, max, min, G4Box::SetXHalfLength(), G4Box::SetYHalfLength(), G4Box::SetZHalfLength(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

+ Here is the call graph for this function:

void G4Voxelizer::BuildEmpty ( )
private

Definition at line 73 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 73 of file G4Voxelizer.cc

References c, G4SurfBits::Clear(), fBoundaries, fCandidates, fEmpty, fTotalCandidates, G4cout, G4endl, GetCandidatesVoxelArray(), GetVoxelsIndex(), max, G4SurfBits::ResetAllBits(), G4SurfBits::ResetBitNumber(), and G4SurfBits::SetBitNumber().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildReduceVoxels ( std::vector< G4double fBoundaries[],
G4ThreeVector  reductionRatio 
)
private

Definition at line 520 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 520 of file G4Voxelizer.cc

References G4VoxelInfo::count, fCandidatesCounts, k, max, G4VoxelInfo::next, pos(), G4VoxelInfo::previous, and Acts::IntegrationTest::skip.

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildReduceVoxels2 ( std::vector< G4double fBoundaries[],
G4ThreeVector  reductionRatio 
)
private

Definition at line 675 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 675 of file G4Voxelizer.cc

References fCandidatesCounts, k, max, sum, and G4INCL::CrossSections::total().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildVoxelLimits ( std::vector< G4VSolid * > &  solids,
std::vector< G4Transform3D > &  transforms 
)
private

Definition at line 116 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 116 of file G4Voxelizer.cc

References G4VSolid::BoundingLimits(), fBoxes, fNPerSlice, fTolerance, fTotalCandidates, HepGeom::Transform3D::getDecomposition(), G4VSolid::GetEntityType(), G4Orb::GetRadialTolerance(), HepGeom::Transform3D::getTranslation(), max, min, scale, CLHEP::Hep3Vector::set(), Acts::Test::transform, and TransformLimits().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::BuildVoxelLimits ( std::vector< G4VFacet * > &  facets)
private

Definition at line 169 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 169 of file G4Voxelizer.cc

References G4VFacet::Extent(), fBoxes, fNPerSlice, fTolerance, fTotalCandidates, max, min, CLHEP::Hep3Vector::set(), x, y, and z.

+ Here is the call graph for this function:

G4bool G4Voxelizer::Contains ( const G4ThreeVector point) const

Definition at line 1166 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1166 of file G4Voxelizer.cc

References fBoundaries.

Referenced by G4TessellatedSolid::DistanceToOutCore().

+ Here is the caller graph for this function:

long long G4Voxelizer::CountVoxels ( std::vector< G4double boundaries[]) const
inline

Referenced by Voxelize().

+ Here is the caller graph for this function:

void G4Voxelizer::CreateMiniVoxels ( std::vector< G4double fBoundaries[],
G4SurfBits  bitmasks[] 
)
private

Definition at line 736 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 736 of file G4Voxelizer.cc

References fVoxelBoxes, fVoxelBoxesCandidates, GetCandidatesVoxelArray(), G4VoxelBox::hlen, G4VoxelBox::pos, and boost::swap().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::CreateSortedBoundary ( std::vector< G4double > &  boundaryRaw,
G4int  axis 
)
private

Definition at line 219 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 219 of file G4Voxelizer.cc

References d, fBoxes, G4cout, and G4endl.

Referenced by BuildBoundaries().

+ Here is the caller graph for this function:

void G4Voxelizer::DisplayBoundaries ( )

Definition at line 329 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 329 of file G4Voxelizer.cc

References fBoundaries, G4cout, and G4endl.

void G4Voxelizer::DisplayBoundaries ( std::vector< G4double > &  fBoundaries)
private

Definition at line 340 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 340 of file G4Voxelizer.cc

References G4cout, and G4endl.

void G4Voxelizer::DisplayListNodes ( ) const

Definition at line 436 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 436 of file G4Voxelizer.cc

References fBitmasks, fBoundaries, fNPerSlice, G4cout, G4endl, GetCandidatesAsString(), and G4SurfBits::set().

+ Here is the call graph for this function:

void G4Voxelizer::DisplayVoxelLimits ( ) const

Definition at line 202 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 202 of file G4Voxelizer.cc

References fBoxes, and G4cout.

G4double G4Voxelizer::DistanceToBoundingBox ( const G4ThreeVector point) const

Definition at line 1188 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1188 of file G4Voxelizer.cc

References fBoundingBoxCenter, fBoundingBoxSize, and MinDistanceToBox().

Referenced by G4MultiUnion::DistanceToIn(), and G4TessellatedSolid::SafetyFromOutside().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Voxelizer::DistanceToFirst ( const G4ThreeVector point,
const G4ThreeVector direction 
) const

Definition at line 1178 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1178 of file G4Voxelizer.cc

References G4Box::DistanceToIn(), fBoundingBox, and fBoundingBoxCenter.

Referenced by G4MultiUnion::DistanceToIn(), and G4TessellatedSolid::DistanceToInCore().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4Voxelizer::DistanceToNext ( const G4ThreeVector point,
const G4ThreeVector direction,
std::vector< G4int > &  curVoxel 
) const

Definition at line 1223 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1223 of file G4Voxelizer.cc

References e, fBoundaries, and kInfinity.

Referenced by G4MultiUnion::DistanceToIn(), G4TessellatedSolid::DistanceToInCore(), G4TessellatedSolid::DistanceToOutCore(), and G4TessellatedSolid::InsideVoxels().

+ Here is the caller graph for this function:

const G4SurfBits& G4Voxelizer::Empty ( ) const
inline

Referenced by G4TessellatedSolid::Voxelize().

+ Here is the caller graph for this function:

void G4Voxelizer::FindComponentsFastest ( unsigned int  mask,
std::vector< G4int > &  list,
G4int  i 
)
staticprivate

Definition at line 916 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 916 of file G4Voxelizer.cc

Referenced by GetCandidatesVoxelArray().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetBitsPerSlice ( ) const
inline

Referenced by BuildBitmasks(), G4MultiUnion::DistanceToIn(), and G4MultiUnion::DistanceToOutVoxels().

+ Here is the caller graph for this function:

const std::vector<G4double>& G4Voxelizer::GetBoundary ( G4int  index) const
inline

Referenced by G4TessellatedSolid::PrecalculateInsides().

+ Here is the caller graph for this function:

const std::vector<G4VoxelBox>& G4Voxelizer::GetBoxes ( ) const
inline

Referenced by G4MultiUnion::DistanceToIn(), and G4MultiUnion::SafetyFromOutsideNumberNode().

+ Here is the caller graph for this function:

const std::vector<G4int>& G4Voxelizer::GetCandidates ( std::vector< G4int > &  curVoxel) const
inline

Referenced by G4TessellatedSolid::DistanceToInCore(), G4TessellatedSolid::DistanceToOutCore(), G4TessellatedSolid::InsideVoxels(), G4TessellatedSolid::Normal(), and G4TessellatedSolid::SafetyFromOutside().

+ Here is the caller graph for this function:

G4String G4Voxelizer::GetCandidatesAsString ( const G4SurfBits bits) const
private

Definition at line 421 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 421 of file G4Voxelizer.cc

References fBoxes, and G4SurfBits::TestBitNumber().

Referenced by DisplayListNodes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::GetCandidatesVoxel ( std::vector< G4int > &  voxels)

Definition at line 901 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 901 of file G4Voxelizer.cc

References G4cout, G4endl, and GetCandidatesVoxelArray().

+ Here is the call graph for this function:

G4int G4Voxelizer::GetCandidatesVoxelArray ( const G4ThreeVector point,
std::vector< G4int > &  list,
G4SurfBits crossed = nullptr 
) const

Definition at line 978 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 978 of file G4Voxelizer.cc

References BinarySearch(), G4SurfBits::fAllBits, fBitmasks, fBoundaries, FindComponentsFastest(), fNPerSlice, for(), fTotalCandidates, mask, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by BuildEmpty(), CreateMiniVoxels(), G4MultiUnion::DistanceToIn(), G4MultiUnion::DistanceToOut(), G4MultiUnion::DistanceToOutVoxels(), GetCandidatesVoxel(), GetCandidatesVoxelArray(), G4MultiUnion::InsideWithExclusion(), and G4MultiUnion::SurfaceNormal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetCandidatesVoxelArray ( const std::vector< G4int > &  voxels,
const G4SurfBits  bitmasks[],
std::vector< G4int > &  list,
G4SurfBits crossed = nullptr 
) const

Definition at line 1099 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1099 of file G4Voxelizer.cc

References G4SurfBits::fAllBits, FindComponentsFastest(), fNPerSlice, for(), fTotalCandidates, and mask.

+ Here is the call graph for this function:

G4int G4Voxelizer::GetCandidatesVoxelArray ( const std::vector< G4int > &  voxels,
std::vector< G4int > &  list,
G4SurfBits crossed = nullptr 
) const

Definition at line 1157 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1157 of file G4Voxelizer.cc

References fBitmasks, and GetCandidatesVoxelArray().

+ Here is the call graph for this function:

long long G4Voxelizer::GetCountOfVoxels ( ) const
inline

Referenced by G4TessellatedSolid::DistanceToInCore(), G4TessellatedSolid::DistanceToOutCore(), G4TessellatedSolid::Inside(), G4TessellatedSolid::Normal(), G4TessellatedSolid::SafetyFromInside(), and G4TessellatedSolid::SafetyFromOutside().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetDefaultVoxelsCount ( )
static

Definition at line 1359 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1359 of file G4Voxelizer.cc

References fDefaultVoxelsCount.

G4ThreeVector G4Voxelizer::GetGlobalPoint ( const G4Transform3D trans,
const G4ThreeVector lpoint 
) const
inlineprivate

Referenced by TransformLimits().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetMaxVoxels ( G4ThreeVector ratioOfReduction)
inline

Referenced by G4TessellatedSolid::CopyObjects().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetPointIndex ( const G4ThreeVector p) const
inline

Referenced by G4TessellatedSolid::InsideVoxels(), and G4TessellatedSolid::SafetyFromOutside().

+ Here is the caller graph for this function:

G4bool G4Voxelizer::GetPointVoxel ( const G4ThreeVector p,
std::vector< G4int > &  voxels 
) const
inline
G4int G4Voxelizer::GetTotalCandidates ( ) const
inline
void G4Voxelizer::GetVoxel ( std::vector< G4int > &  curVoxel,
const G4ThreeVector point 
) const
inline

Referenced by G4MultiUnion::DistanceToIn(), G4TessellatedSolid::DistanceToInCore(), G4TessellatedSolid::DistanceToOutCore(), G4TessellatedSolid::InsideVoxels(), G4TessellatedSolid::Normal(), and G4TessellatedSolid::SafetyFromOutside().

+ Here is the caller graph for this function:

const G4VoxelBox& G4Voxelizer::GetVoxelBox ( G4int  i) const
inline

Referenced by G4TessellatedSolid::MinDistanceFacet().

+ Here is the caller graph for this function:

const std::vector<G4int>& G4Voxelizer::GetVoxelBoxCandidates ( G4int  i) const
inline

Referenced by G4TessellatedSolid::MinDistanceFacet().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetVoxelBoxesSize ( ) const
inline

Referenced by G4TessellatedSolid::MinDistanceFacet().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetVoxelsIndex ( G4int  x,
G4int  y,
G4int  z 
) const
inline

Referenced by BuildEmpty(), G4TessellatedSolid::InsideVoxels(), G4TessellatedSolid::PrecalculateInsides(), and G4TessellatedSolid::SetAllUsingStack().

+ Here is the caller graph for this function:

G4int G4Voxelizer::GetVoxelsIndex ( const std::vector< G4int > &  voxels) const
inline
G4bool G4Voxelizer::IsEmpty ( G4int  index) const
inline

Referenced by G4TessellatedSolid::PrecalculateInsides(), and G4TessellatedSolid::SetAllUsingStack().

+ Here is the caller graph for this function:

G4double G4Voxelizer::MinDistanceToBox ( const G4ThreeVector aPoint,
const G4ThreeVector f 
)
static

Definition at line 1197 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1197 of file G4Voxelizer.cc

References kdfinder::abs(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by DistanceToBoundingBox(), and G4TessellatedSolid::MinDistanceFacet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::SetDefaultVoxelsCount ( G4int  count)
static

Definition at line 1353 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1353 of file G4Voxelizer.cc

References fDefaultVoxelsCount.

void G4Voxelizer::SetMaxVoxels ( G4int  max)

Definition at line 1339 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1339 of file G4Voxelizer.cc

References fMaxVoxels, fReductionRatio, max, and CLHEP::Hep3Vector::set().

Referenced by G4TessellatedSolid::CopyObjects(), G4Voxelizer(), and G4TessellatedSolid::SetMaxVoxels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::SetMaxVoxels ( const G4ThreeVector reductionRatio)

Definition at line 1346 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1346 of file G4Voxelizer.cc

References fMaxVoxels, and fReductionRatio.

void G4Voxelizer::SetReductionRatio ( G4int  maxVoxels,
G4ThreeVector reductionRatio 
)
private

Definition at line 504 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 504 of file G4Voxelizer.cc

References fCandidatesCounts, ratio, and CLHEP::Hep3Vector::set().

Referenced by Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 935 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 935 of file G4Voxelizer.cc

References GetGlobalPoint(), kInfinity, CLHEP::Hep3Vector::set(), CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by BuildVoxelLimits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4Voxelizer::UpdateCurrentVoxel ( const G4ThreeVector point,
const G4ThreeVector direction,
std::vector< G4int > &  curVoxel 
) const

Definition at line 1308 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 1308 of file G4Voxelizer.cc

References BinarySearch(), and fBoundaries.

Referenced by G4TessellatedSolid::DistanceToInCore(), G4TessellatedSolid::DistanceToOutCore(), and G4TessellatedSolid::InsideVoxels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::Voxelize ( std::vector< G4VSolid * > &  solids,
std::vector< G4Transform3D > &  transforms 
)

Definition at line 718 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 718 of file G4Voxelizer.cc

References BuildBitmasks(), BuildBoundaries(), BuildBoundingBox(), BuildEmpty(), BuildVoxelLimits(), fBitmasks, fBoundaries, and fCandidatesCounts.

Referenced by G4MultiUnion::Voxelize(), and G4TessellatedSolid::Voxelize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4Voxelizer::Voxelize ( std::vector< G4VFacet * > &  facets)

Definition at line 772 of file G4Voxelizer.cc.

View newest version in sPHENIX GitHub at line 772 of file G4Voxelizer.cc

References BuildBitmasks(), BuildBoundaries(), BuildBoundingBox(), BuildEmpty(), BuildReduceVoxels(), BuildReduceVoxels2(), BuildVoxelLimits(), G4SurfBits::Clear(), CountVoxels(), CreateMiniVoxels(), fBitmasks, fBoundaries, fBoxes, fCandidatesCounts, fCountOfVoxels, fMaxVoxels, fReductionRatio, fTotalCandidates, G4cout, G4endl, SetReductionRatio(), and G4INCL::CrossSections::total().

+ Here is the call graph for this function:

Member Data Documentation

G4SurfBits G4Voxelizer::fBitmasks[3]
private

Definition at line 244 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 244 of file G4Voxelizer.hh

Referenced by AllocatedMemory(), DisplayListNodes(), GetCandidatesVoxelArray(), and Voxelize().

std::vector<G4double> G4Voxelizer::fBoundaries[3]
private
G4Box G4Voxelizer::fBoundingBox
private

Definition at line 248 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 248 of file G4Voxelizer.hh

Referenced by BuildBoundingBox(), DistanceToFirst(), and G4Voxelizer().

G4ThreeVector G4Voxelizer::fBoundingBoxCenter
private

Definition at line 246 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 246 of file G4Voxelizer.hh

Referenced by BuildBoundingBox(), DistanceToBoundingBox(), and DistanceToFirst().

G4ThreeVector G4Voxelizer::fBoundingBoxSize
private

Definition at line 250 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 250 of file G4Voxelizer.hh

Referenced by BuildBoundingBox(), and DistanceToBoundingBox().

std::vector<G4VoxelBox> G4Voxelizer::fBoxes
private

Definition at line 234 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 234 of file G4Voxelizer.hh

Referenced by AllocatedMemory(), BuildBitmasks(), BuildBoundaries(), BuildVoxelLimits(), CreateSortedBoundary(), DisplayVoxelLimits(), GetCandidatesAsString(), and Voxelize().

std::map<G4int, std::vector<G4int> > G4Voxelizer::fCandidates
mutableprivate

Definition at line 226 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 226 of file G4Voxelizer.hh

Referenced by AllocatedMemory(), and BuildEmpty().

std::vector<G4int> G4Voxelizer::fCandidatesCounts[3]
private

Definition at line 240 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 240 of file G4Voxelizer.hh

Referenced by AllocatedMemory(), BuildBitmasks(), BuildReduceVoxels(), BuildReduceVoxels2(), SetReductionRatio(), and Voxelize().

long long G4Voxelizer::fCountOfVoxels
private

Definition at line 230 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 230 of file G4Voxelizer.hh

Referenced by G4Voxelizer(), and Voxelize().

G4ThreadLocal G4int G4Voxelizer::fDefaultVoxelsCount = -1
staticprivate

Definition at line 222 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 222 of file G4Voxelizer.hh

Referenced by G4Voxelizer(), GetDefaultVoxelsCount(), and SetDefaultVoxelsCount().

G4SurfBits G4Voxelizer::fEmpty
private

Definition at line 258 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 258 of file G4Voxelizer.hh

Referenced by AllocatedMemory(), and BuildEmpty().

G4int G4Voxelizer::fMaxVoxels
private

Definition at line 254 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 254 of file G4Voxelizer.hh

Referenced by SetMaxVoxels(), and Voxelize().

const std::vector<G4int> G4Voxelizer::fNoCandidates
private

Definition at line 228 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 228 of file G4Voxelizer.hh

G4int G4Voxelizer::fNPerSlice
private

Definition at line 232 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 232 of file G4Voxelizer.hh

Referenced by BuildVoxelLimits(), DisplayListNodes(), G4Voxelizer(), and GetCandidatesVoxelArray().

G4ThreeVector G4Voxelizer::fReductionRatio
private

Definition at line 252 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 252 of file G4Voxelizer.hh

Referenced by SetMaxVoxels(), and Voxelize().

G4double G4Voxelizer::fTolerance
private

Definition at line 256 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 256 of file G4Voxelizer.hh

Referenced by BuildBoundaries(), BuildVoxelLimits(), and G4Voxelizer().

G4int G4Voxelizer::fTotalCandidates
private

Definition at line 242 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 242 of file G4Voxelizer.hh

Referenced by BuildEmpty(), BuildVoxelLimits(), G4Voxelizer(), GetCandidatesVoxelArray(), and Voxelize().

std::vector<G4VoxelBox> G4Voxelizer::fVoxelBoxes
private

Definition at line 224 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 224 of file G4Voxelizer.hh

Referenced by CreateMiniVoxels().

std::vector<std::vector<G4int> > G4Voxelizer::fVoxelBoxesCandidates
private

Definition at line 225 of file G4Voxelizer.hh.

View newest version in sPHENIX GitHub at line 225 of file G4Voxelizer.hh

Referenced by CreateMiniVoxels().


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