ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/geometry/solids/specific/include/G4ExtrudedSolid.hh>
Classes | |
struct | line |
struct | plane |
struct | ZSection |
Private Attributes | |
G4int | fNv |
G4int | fNz |
std::vector< G4TwoVector > | fPolygon |
std::vector< ZSection > | fZSections |
std::vector< std::vector< G4int > > | fTriangles |
G4bool | fIsConvex = false |
G4GeometryType | fGeometryType |
G4int | fSolidType = 0 |
std::vector< plane > | fPlanes |
std::vector< line > | fLines |
std::vector< G4double > | fLengths |
std::vector< G4double > | fKScales |
std::vector< G4double > | fScale0s |
std::vector< G4TwoVector > | fKOffsets |
std::vector< G4TwoVector > | fOffset0s |
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 G4TessellatedSolid | |
G4double | kCarToleranceHalf |
Definition at line 71 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 71 of file G4ExtrudedSolid.hh
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
const std::vector< G4TwoVector > & | polygon, | ||
const std::vector< ZSection > & | zsections | ||
) |
Definition at line 66 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 66 of file G4ExtrudedSolid.cc
References ComputeLateralPlanes(), ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fNz, fPolygon, fSolidType, fZSections, G4Exception(), G4GeomTools::IsConvex(), JustWarning, G4VSolid::kCarTolerance, G4TessellatedSolid::kCarToleranceHalf, MakeFacets(), message(), G4GeomTools::PolygonArea(), G4GeomTools::RemoveRedundantVertices(), and reverse.
Referenced by Clone().
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
const std::vector< G4TwoVector > & | polygon, | ||
G4double | halfZ, | ||
const G4TwoVector & | off1, | ||
G4double | scale1, | ||
const G4TwoVector & | off2, | ||
G4double | scale2 | ||
) |
Definition at line 189 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 189 of file G4ExtrudedSolid.cc
References ComputeLateralPlanes(), ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fPolygon, fSolidType, fZSections, G4Exception(), G4GeomTools::IsConvex(), JustWarning, G4VSolid::kCarTolerance, MakeFacets(), message(), G4GeomTools::PolygonArea(), G4GeomTools::RemoveRedundantVertices(), and reverse.
|
virtual |
Definition at line 333 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 333 of file G4ExtrudedSolid.cc
G4ExtrudedSolid::G4ExtrudedSolid | ( | __void__ & | a | ) |
Definition at line 283 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 283 of file G4ExtrudedSolid.cc
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 293 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 293 of file G4ExtrudedSolid.cc
|
private |
Definition at line 637 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 637 of file G4ExtrudedSolid.cc
References G4TessellatedSolid::AddFacet(), angle, c1, c2, FatalException, fNv, fPolygon, fTriangles, G4Exception(), GetAngle(), G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), IsPointInside(), it, MakeDownFacet(), MakeUpFacet(), and pi.
Referenced by MakeFacets().
|
private |
Definition at line 1070 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1070 of file G4ExtrudedSolid.cc
References a, b, DBL_MAX, fLengths, fNv, fPlanes, fPolygon, fSolidType, fZSections, in, k, max, PointInPolygon(), tmp, Acts::UnitConstants::u, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by SurfaceNormal().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 1371 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1371 of file G4ExtrudedSolid.cc
References G4VSolid::DumpInfo(), dx, dy, G4ExtrudedSolid::ZSection::fOffset, fPolygon, G4ExtrudedSolid::ZSection::fScale, G4ExtrudedSolid::ZSection::fZ, G4Exception(), G4VSolid::GetName(), GetNofVertices(), GetNofZSections(), GetZSection(), JustWarning, kInfinity, max, message(), min, pMax, scale, CLHEP::Hep3Vector::set(), CLHEP::Hep2Vector::x(), CLHEP::Hep3Vector::x(), x, xmax, xmin, CLHEP::Hep2Vector::y(), CLHEP::Hep3Vector::y(), y, ymax, ymin, and CLHEP::Hep3Vector::z().
Referenced by CalculateExtent().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1428 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1428 of file G4ExtrudedSolid.cc
References G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), BoundingLimits(), G4BoundingEnvelope::CalculateExtent(), dx, dy, emax, CEMC_TOWER::emin, G4ExtrudedSolid::ZSection::fOffset, fPolygon, G4ExtrudedSolid::ZSection::fScale, G4ExtrudedSolid::ZSection::fZ, G4Exception(), G4VoxelLimits::GetMaxExtent(), G4VoxelLimits::GetMinExtent(), G4VSolid::GetName(), GetNofZSections(), GetZSection(), JustWarning, k, kInfinity, message(), pMax, scale, G4GeomTools::TriangulatePolygon(), CLHEP::Hep2Vector::x(), x1, x2, CLHEP::Hep2Vector::y(), y1, y2, and z.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 850 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 850 of file G4ExtrudedSolid.cc
References G4ExtrudedSolid().
|
private |
Definition at line 373 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 373 of file G4ExtrudedSolid.cc
References fLengths, fLines, fPlanes, fPolygon, k, norm, CLHEP::Hep2Vector::x(), CLHEP::Hep2Vector::y(), and y.
Referenced by G4ExtrudedSolid().
|
private |
Definition at line 340 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 340 of file G4ExtrudedSolid.cc
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, fZSections, z1, and z2.
Referenced by G4ExtrudedSolid().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1158 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1158 of file G4ExtrudedSolid.cc
References DBL_MAX, G4TessellatedSolid::DistanceToIn(), dz, fNz, fPlanes, fSolidType, fZSections, G4TessellatedSolid::kCarToleranceHalf, kInfinity, tmp, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), CLHEP::Hep3Vector::z(), G4InuclParticleNames::z0, and z1.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1219 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1219 of file G4ExtrudedSolid.cc
References G4TessellatedSolid::DistanceToIn(), DistanceToPolygonSqr(), fPlanes, fSolidType, fZSections, in, max, PointInPolygon(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1258 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1258 of file G4ExtrudedSolid.cc
References a, b, c, DBL_MAX, G4TessellatedSolid::DistanceToOut(), dz, fIsConvex, fNz, fPlanes, fSolidType, fZSections, G4TessellatedSolid::kCarToleranceHalf, CLHEP::Hep3Vector::set(), tmp, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), CLHEP::Hep3Vector::z(), G4InuclParticleNames::z0, and z1.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1340 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1340 of file G4ExtrudedSolid.cc
References G4TessellatedSolid::DistanceToOut(), DistanceToPolygonSqr(), fPlanes, fSolidType, fZSections, in, max, min, PointInPolygon(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
inlineprivate |
Referenced by DistanceToIn(), DistanceToOut(), and Inside().
|
private |
Definition at line 551 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 551 of file G4ExtrudedSolid.cc
References pi, t1, t2, CLHEP::Hep2Vector::x(), and CLHEP::Hep2Vector::y().
Referenced by AddGeneralPolygonFacets().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 841 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 841 of file G4ExtrudedSolid.cc
References fGeometryType.
|
inline |
Referenced by BoundingLimits(), PHG4GDMLWriteSolids::XtruWrite(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
Referenced by BoundingLimits(), CalculateExtent(), PHG4GDMLWriteSolids::XtruWrite(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
|
inline |
Referenced by MakeDownFacet(), MakeFacets(), MakeUpFacet(), PHG4GDMLWriteSolids::XtruWrite(), and G4GDMLWriteSolids::XtruWrite().
|
private |
Definition at line 412 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 412 of file G4ExtrudedSolid.cc
References fPolygon, fZSections, and x.
Referenced by BoundingLimits(), CalculateExtent(), PHG4GDMLWriteSolids::XtruWrite(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 857 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 857 of file G4ExtrudedSolid.cc
References DistanceToPolygonSqr(), fNv, fNz, fPlanes, fPolygon, fSolidType, fTriangles, fZSections, G4TessellatedSolid::GetMaxXExtent(), G4TessellatedSolid::GetMaxYExtent(), G4TessellatedSolid::GetMaxZExtent(), G4TessellatedSolid::GetMinXExtent(), G4TessellatedSolid::GetMinYExtent(), G4TessellatedSolid::GetMinZExtent(), in, IsPointInside(), IsSameLineSegment(), it, G4TessellatedSolid::kCarToleranceHalf, kInside, kOutside, kSurface, max, PointInPolygon(), ProjectPoint(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
private |
Definition at line 520 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 520 of file G4ExtrudedSolid.cc
References IsSameLineSegment(), IsSameSide(), CLHEP::Hep2Vector::x(), and CLHEP::Hep2Vector::y().
Referenced by AddGeneralPolygonFacets(), and Inside().
|
private |
Definition at line 455 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 455 of file G4ExtrudedSolid.cc
References dy, G4TessellatedSolid::kCarToleranceHalf, CLHEP::Hep2Vector::x(), and CLHEP::Hep2Vector::y().
Referenced by IsSameLineSegment().
|
private |
Definition at line 485 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 485 of file G4ExtrudedSolid.cc
References IsSameLine(), G4TessellatedSolid::kCarToleranceHalf, max, min, CLHEP::Hep2Vector::x(), and CLHEP::Hep2Vector::y().
Referenced by Inside(), and IsPointInside().
|
private |
Definition at line 505 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 505 of file G4ExtrudedSolid.cc
References CLHEP::Hep2Vector::x(), and CLHEP::Hep2Vector::y().
Referenced by IsPointInside().
Definition at line 570 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 570 of file G4ExtrudedSolid.cc
References ABSOLUTE, Acts::VectorHelpers::cross(), GetVertex(), tmp, and CLHEP::Hep3Vector::z().
Referenced by AddGeneralPolygonFacets().
|
private |
Definition at line 761 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 761 of file G4ExtrudedSolid.cc
References ABSOLUTE, G4TessellatedSolid::AddFacet(), AddGeneralPolygonFacets(), fNv, fNz, fTriangles, GetVertex(), and G4TessellatedSolid::SetSolidClosed().
Referenced by G4ExtrudedSolid().
Definition at line 604 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 604 of file G4ExtrudedSolid.cc
References ABSOLUTE, Acts::VectorHelpers::cross(), fNz, GetVertex(), tmp, and CLHEP::Hep3Vector::z().
Referenced by AddGeneralPolygonFacets().
G4ExtrudedSolid & G4ExtrudedSolid::operator= | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 307 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 307 of file G4ExtrudedSolid.cc
References fGeometryType, fIsConvex, fKOffsets, fKScales, fLengths, fLines, fNv, fNz, fOffset0s, fPlanes, fPolygon, fScale0s, fSolidType, fTriangles, fZSections, and G4TessellatedSolid::operator=().
|
inlineprivate |
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), and Inside().
|
private |
Definition at line 424 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 424 of file G4ExtrudedSolid.cc
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, fZSections, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), CLHEP::Hep3Vector::z(), and G4InuclParticleNames::z0.
Referenced by Inside().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1519 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 1519 of file G4ExtrudedSolid.cc
References fGeometryType, fIsConvex, fNv, fNz, fPolygon, fZSections, G4endl, G4VSolid::GetName(), and mm.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 966 of file G4ExtrudedSolid.cc.
View newest version in sPHENIX GitHub at line 966 of file G4ExtrudedSolid.cc
References kdfinder::abs(), ApproxSurfaceNormal(), G4VSolid::DumpInfo(), fLengths, fNv, fPlanes, fPolygon, fSolidType, fZSections, G4cout, G4endl, G4Exception(), G4VSolid::GetName(), JustWarning, k, G4TessellatedSolid::kCarToleranceHalf, message(), mm, G4TessellatedSolid::SurfaceNormal(), Acts::UnitConstants::u, CLHEP::Hep3Vector::unit(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
private |
Definition at line 190 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 190 of file G4ExtrudedSolid.hh
Referenced by GetEntityType(), operator=(), and StreamInfo().
Definition at line 189 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 189 of file G4ExtrudedSolid.hh
Referenced by DistanceToOut(), G4ExtrudedSolid(), operator=(), and StreamInfo().
|
private |
Definition at line 201 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 201 of file G4ExtrudedSolid.hh
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 199 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 199 of file G4ExtrudedSolid.hh
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 197 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 197 of file G4ExtrudedSolid.hh
Referenced by ApproxSurfaceNormal(), ComputeLateralPlanes(), operator=(), and SurfaceNormal().
|
private |
Definition at line 196 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 196 of file G4ExtrudedSolid.hh
Referenced by ComputeLateralPlanes(), and operator=().
|
private |
Definition at line 184 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 184 of file G4ExtrudedSolid.hh
Referenced by AddGeneralPolygonFacets(), ApproxSurfaceNormal(), G4ExtrudedSolid(), Inside(), MakeFacets(), operator=(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 185 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 185 of file G4ExtrudedSolid.hh
Referenced by ComputeProjectionParameters(), DistanceToIn(), DistanceToOut(), G4ExtrudedSolid(), Inside(), MakeFacets(), MakeUpFacet(), operator=(), ProjectPoint(), and StreamInfo().
|
private |
Definition at line 202 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 202 of file G4ExtrudedSolid.hh
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 194 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 194 of file G4ExtrudedSolid.hh
Referenced by ApproxSurfaceNormal(), ComputeLateralPlanes(), DistanceToIn(), DistanceToOut(), Inside(), operator=(), and SurfaceNormal().
|
private |
Definition at line 186 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 186 of file G4ExtrudedSolid.hh
Referenced by AddGeneralPolygonFacets(), ApproxSurfaceNormal(), BoundingLimits(), CalculateExtent(), ComputeLateralPlanes(), G4ExtrudedSolid(), GetVertex(), Inside(), operator=(), StreamInfo(), and SurfaceNormal().
|
private |
Definition at line 200 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 200 of file G4ExtrudedSolid.hh
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 192 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 192 of file G4ExtrudedSolid.hh
Referenced by ApproxSurfaceNormal(), DistanceToIn(), DistanceToOut(), G4ExtrudedSolid(), Inside(), operator=(), and SurfaceNormal().
|
private |
Definition at line 188 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 188 of file G4ExtrudedSolid.hh
Referenced by AddGeneralPolygonFacets(), Inside(), MakeFacets(), and operator=().
|
private |
Definition at line 187 of file G4ExtrudedSolid.hh.
View newest version in sPHENIX GitHub at line 187 of file G4ExtrudedSolid.hh
Referenced by ApproxSurfaceNormal(), ComputeProjectionParameters(), DistanceToIn(), DistanceToOut(), G4ExtrudedSolid(), GetVertex(), Inside(), operator=(), ProjectPoint(), StreamInfo(), and SurfaceNormal().