ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/geometry/solids/Boolean/include/G4MultiUnion.hh>
Classes | |
struct | G4MultiUnionSurface |
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 | fVoxels |
G4double | fCubicVolume = 0.0 |
G4double | fSurfaceArea = 0.0 |
G4double | kRadTolerance |
G4bool | fAccurate = false |
G4bool | fRebuildPolyhedron = false |
G4Polyhedron * | fpPolyhedron = nullptr |
Friends | |
class | G4Voxelizer |
Additional Inherited Members | |
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 inherited from G4VSolid | |
G4double | kCarTolerance |
Definition at line 53 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 53 of file G4MultiUnion.hh
|
inline |
Definition at line 59 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 59 of file G4MultiUnion.hh
Referenced by Clone().
G4MultiUnion::G4MultiUnion | ( | const G4String & | name | ) |
Definition at line 54 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 54 of file G4MultiUnion.cc
References fSolids, fTransformObjs, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetRadialTolerance(), kRadTolerance, and G4VSolid::SetName().
G4MultiUnion::~G4MultiUnion | ( | ) |
Definition at line 64 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 64 of file G4MultiUnion.cc
G4MultiUnion::G4MultiUnion | ( | const G4MultiUnion & | rhs | ) |
Definition at line 83 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 83 of file G4MultiUnion.cc
G4MultiUnion::G4MultiUnion | ( | __void__ & | a | ) |
Definition at line 92 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 92 of file G4MultiUnion.cc
void G4MultiUnion::AddNode | ( | G4VSolid & | solid, |
G4Transform3D & | trans | ||
) |
Definition at line 69 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 69 of file G4MultiUnion.cc
References fSolids, and fTransformObjs.
Referenced by G4GDMLReadSolids::MultiUnionNodeRead().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 609 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 609 of file G4MultiUnion.cc
References Extent(), kXAxis, kYAxis, and kZAxis.
Referenced by CalculateExtent(), and GetCubicVolume().
|
virtual |
Implements G4VSolid.
Definition at line 619 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 619 of file G4MultiUnion.cc
References BoundingLimits(), and G4BoundingEnvelope::CalculateExtent().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 76 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 76 of file G4MultiUnion.cc
References G4MultiUnion().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 961 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 961 of file G4MultiUnion.cc
References HepPolyhedronProcessor::execute(), GetNumberOfSolids(), G4DisplacedSolid::GetPolyhedron(), GetSolid(), GetTransformation(), operand(), processor, HepPolyhedronProcessor::push_back(), Acts::Test::transform, and HepPolyhedronProcessor::UNION.
Referenced by GetPolyhedron().
|
virtual |
Implements G4VSolid.
Definition at line 955 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 955 of file G4MultiUnion.cc
References G4VGraphicsScene::AddSolid().
|
virtual |
Implements G4VSolid.
Definition at line 753 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 753 of file G4MultiUnion.cc
References kdfinder::abs(), G4Voxelizer::DistanceToBoundingBox(), G4VSolid::DistanceToIn(), fAccurate, fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBoxes(), GetLocalPoint(), kInfinity, pos(), and Acts::Test::transform.
|
virtual |
Implements G4VSolid.
Definition at line 205 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 205 of file G4MultiUnion.cc
References G4Voxelizer::DistanceToFirst(), DistanceToInCandidates(), G4Voxelizer::DistanceToNext(), fVoxels, G4Voxelizer::GetBitsPerSlice(), G4Voxelizer::GetCandidatesVoxelArray(), G4Voxelizer::GetVoxel(), kInfinity, and CLHEP::Hep3Vector::unit().
|
private |
Definition at line 169 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 169 of file G4MultiUnion.cc
References G4VSolid::DistanceToIn(), fSolids, fTransformObjs, GetLocalPoint(), GetLocalVector(), kInfinity, G4SurfBits::SetBitNumber(), and Acts::Test::transform.
Referenced by DistanceToIn().
G4double G4MultiUnion::DistanceToInNoVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection | ||
) | const |
Definition at line 146 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 146 of file G4MultiUnion.cc
References G4VSolid::DistanceToIn(), fSolids, fTransformObjs, GetLocalPoint(), GetLocalVector(), kInfinity, Acts::Test::transform, and CLHEP::Hep3Vector::unit().
|
virtual |
Implements G4VSolid.
Definition at line 716 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 716 of file G4MultiUnion.cc
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetLocalPoint(), G4VSolid::Inside(), kInfinity, kInside, and Acts::Test::transform.
|
virtual |
Implements G4VSolid.
Definition at line 290 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 290 of file G4MultiUnion.cc
References DistanceToOutVoxels().
G4double G4MultiUnion::DistanceToOutNoVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector | ||
) | const |
Definition at line 239 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 239 of file G4MultiUnion.cc
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, GetGlobalPoint(), GetLocalPoint(), GetLocalVector(), G4VSolid::Inside(), kInfinity, kOutside, Acts::Test::transform, and CLHEP::Hep3Vector::unit().
G4double G4MultiUnion::DistanceToOutVoxels | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector | ||
) | const |
Definition at line 300 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 300 of file G4MultiUnion.cc
References G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBitsPerSlice(), G4Voxelizer::GetCandidatesVoxelArray(), GetGlobalVector(), GetLocalPoint(), GetLocalVector(), G4VSolid::Inside(), InsideWithExclusion(), kInfinity, kOutside, Acts::Test::transform, and CLHEP::Hep3Vector::unit().
Referenced by DistanceToOut().
G4double G4MultiUnion::DistanceToOutVoxelsCore | ( | const G4ThreeVector & | aPoint, |
const G4ThreeVector & | aDirection, | ||
G4ThreeVector * | aNormalVector, | ||
G4bool & | aConvex, | ||
std::vector< G4int > & | candidates | ||
) | const |
Definition at line 544 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 544 of file G4MultiUnion.cc
References G4VSolid::BoundingLimits(), fSolids, GetTransformation(), kXAxis, kYAxis, kZAxis, max, min, Acts::Test::transform, TransformLimits(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by BoundingLimits().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 116 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 116 of file G4MultiUnion.cc
References BoundingLimits(), d, fCubicVolume, G4UniformRand, Inside(), kOutside, left, BTOF::length, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
inlinevirtual |
Implements G4VSolid.
Definition at line 120 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 120 of file G4MultiUnion.hh
|
inlineprivate |
Definition at line 245 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 245 of file G4MultiUnion.hh
Referenced by DistanceToOutNoVoxels(), GetPointOnSurface(), and TransformLimits().
|
inlineprivate |
Definition at line 257 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 257 of file G4MultiUnion.hh
References HepGeom::Transform3D::getDecomposition(), and scale.
Referenced by DistanceToOutVoxels(), and SurfaceNormal().
|
inlineprivate |
Definition at line 216 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 216 of file G4MultiUnion.hh
References HepGeom::Transform3D::inverse().
Referenced by DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), InsideNoVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), and SurfaceNormal().
|
inlineprivate |
Definition at line 228 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 228 of file G4MultiUnion.hh
References HepGeom::Transform3D::getDecomposition(), HepGeom::Transform3D::inverse(), and scale.
Referenced by DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOutNoVoxels(), and DistanceToOutVoxels().
|
inline |
Definition at line 203 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 203 of file G4MultiUnion.hh
References fSolids.
Referenced by CreatePolyhedron(), and G4GDMLWriteSolids::MultiUnionWrite().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 934 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 934 of file G4MultiUnion.cc
References fSolids, fTransformObjs, GetGlobalPoint(), G4VSolid::GetPointOnSurface(), Inside(), kSurface, and Acts::Test::transform.
|
virtual |
Reimplemented from G4VSolid.
Definition at line 986 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 986 of file G4MultiUnion.cc
References CreatePolyhedron(), fpPolyhedron, fRebuildPolyhedron, HepPolyhedron::GetNumberOfRotationSteps(), G4Polyhedron::GetNumberOfRotationStepsAtTimeOfCreation(), and G4TemplateAutoLock< _Mutex_t >::unlock().
Definition at line 197 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 197 of file G4MultiUnion.hh
References fSolids.
Referenced by CreatePolyhedron(), and G4GDMLWriteSolids::MultiUnionWrite().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 804 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 804 of file G4MultiUnion.cc
References G4VSolid::EstimateSurfaceArea(), and fSurfaceArea.
|
inline |
Definition at line 191 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 191 of file G4MultiUnion.hh
References fTransformObjs.
Referenced by CreatePolyhedron(), Extent(), InsideNoVoxels(), and G4GDMLWriteSolids::MultiUnionWrite().
|
inline |
Definition at line 185 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 185 of file G4MultiUnion.hh
References fVoxels.
|
virtual |
Implements G4VSolid.
Definition at line 496 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 496 of file G4MultiUnion.cc
References InsideWithExclusion().
Referenced by GetCubicVolume(), and GetPointOnSurface().
EInside G4MultiUnion::InsideIterator | ( | const G4ThreeVector & | aPoint | ) | const |
EInside G4MultiUnion::InsideNoVoxels | ( | const G4ThreeVector & | aPoint | ) | const |
Definition at line 516 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 516 of file G4MultiUnion.cc
References fSolids, GetLocalPoint(), GetTransformation(), G4VSolid::Inside(), kInside, kOutside, kSurface, and Acts::Test::transform.
|
private |
Definition at line 422 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 422 of file G4MultiUnion.cc
References fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetLocalPoint(), G4VSolid::Inside(), kInside, kOutside, kRadTolerance, kSurface, left, n, G4MultiUnion::G4MultiUnionSurface::point, right, G4MultiUnion::G4MultiUnionSurface::solid, surface(), G4VSolid::SurfaceNormal(), and Acts::Test::transform.
Referenced by DistanceToOutVoxels(), and Inside().
G4MultiUnion & G4MultiUnion::operator= | ( | const G4MultiUnion & | rhs | ) |
Definition at line 99 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 99 of file G4MultiUnion.cc
References G4VSolid::operator=().
|
private |
Definition at line 820 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 820 of file G4MultiUnion.cc
References kdfinder::abs(), G4VSolid::DistanceToIn(), fAccurate, fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetBoxes(), GetLocalPoint(), kInfinity, Acts::Test::transform, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by SurfaceNormal().
Definition at line 209 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 209 of file G4MultiUnion.hh
References fAccurate.
|
virtual |
Implements G4VSolid.
Definition at line 908 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 908 of file G4MultiUnion.cc
References fSolids, fTransformObjs, G4VSolid::GetName(), HepGeom::Transform3D::getRotation(), HepGeom::Transform3D::getTranslation(), G4VSolid::StreamInfo(), and Acts::Test::transform.
|
virtual |
Implements G4VSolid.
Definition at line 635 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 635 of file G4MultiUnion.cc
References G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), fSolids, fTransformObjs, fVoxels, G4Voxelizer::GetCandidatesVoxelArray(), GetGlobalVector(), GetLocalPoint(), G4VSolid::Inside(), kInfinity, kInside, kSurface, CLHEP::normal(), SafetyFromOutsideNumberNode(), G4VSolid::SurfaceNormal(), Acts::Test::transform, and CLHEP::Hep3Vector::unit().
|
private |
Definition at line 864 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 864 of file G4MultiUnion.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 Extent().
void G4MultiUnion::Voxelize | ( | ) |
Definition at line 814 of file G4MultiUnion.cc.
View newest version in sPHENIX GitHub at line 814 of file G4MultiUnion.cc
References fSolids, fTransformObjs, fVoxels, and G4Voxelizer::Voxelize().
Referenced by G4GDMLReadSolids::MultiUnionRead().
|
friend |
Definition at line 55 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 55 of file G4MultiUnion.hh
Definition at line 178 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 178 of file G4MultiUnion.hh
Referenced by DistanceToIn(), SafetyFromOutsideNumberNode(), and SetAccurateSafety().
|
private |
Definition at line 175 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 175 of file G4MultiUnion.hh
Referenced by GetCubicVolume().
|
mutableprivate |
Definition at line 181 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 181 of file G4MultiUnion.hh
Referenced by GetPolyhedron().
Definition at line 180 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 180 of file G4MultiUnion.hh
Referenced by GetPolyhedron().
|
private |
Definition at line 172 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 172 of file G4MultiUnion.hh
Referenced by AddNode(), DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), Extent(), G4MultiUnion(), GetNumberOfSolids(), GetPointOnSurface(), GetSolid(), InsideNoVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), StreamInfo(), SurfaceNormal(), and Voxelize().
|
private |
Definition at line 176 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 176 of file G4MultiUnion.hh
Referenced by GetSurfaceArea().
|
private |
Definition at line 173 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 173 of file G4MultiUnion.hh
Referenced by AddNode(), DistanceToIn(), DistanceToInCandidates(), DistanceToInNoVoxels(), DistanceToOut(), DistanceToOutNoVoxels(), DistanceToOutVoxels(), G4MultiUnion(), GetPointOnSurface(), GetTransformation(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), StreamInfo(), SurfaceNormal(), and Voxelize().
|
private |
Definition at line 174 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 174 of file G4MultiUnion.hh
Referenced by DistanceToIn(), DistanceToOut(), DistanceToOutVoxels(), GetVoxels(), InsideWithExclusion(), SafetyFromOutsideNumberNode(), SurfaceNormal(), and Voxelize().
|
private |
Definition at line 177 of file G4MultiUnion.hh.
View newest version in sPHENIX GitHub at line 177 of file G4MultiUnion.hh
Referenced by G4MultiUnion(), and InsideWithExclusion().