ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/source/graphics_reps/include/HepPolyhedron.h>
Static Public Member Functions | |
static G4int | GetNumberOfRotationSteps () |
static void | SetNumberOfRotationSteps (G4int n) |
static void | ResetNumberOfRotationSteps () |
Protected Member Functions | |
void | AllocateMemory (G4int Nvert, G4int Nface) |
G4int | FindNeighbour (G4int iFace, G4int iNode, G4int iOrder) const |
G4Normal3D | FindNodeNormal (G4int iFace, G4int iNode) const |
void | CreatePrism () |
void | RotateEdge (G4int k1, G4int k2, G4double r1, G4double r2, G4int v1, G4int v2, G4int vEdge, G4bool ifWholeCircle, G4int ns, G4int &kface) |
void | SetSideFacets (G4int ii[4], G4int vv[4], G4int *kk, G4double *r, G4double dphi, G4int ns, G4int &kface) |
void | RotateAroundZ (G4int nstep, G4double phi, G4double dphi, G4int np1, G4int np2, const G4double *z, G4double *r, G4int nodeVis, G4int edgeVis) |
void | SetReferences () |
void | InvertFacets () |
Protected Attributes | |
G4int | nvert |
G4int | nface |
G4Point3D * | pV |
G4Facet * | pF |
Static Protected Attributes | |
static G4ThreadLocal G4int | fNumberOfRotationSteps = DEFAULT_NUMBER_OF_STEPS |
Friends | |
std::ostream & | operator<< (std::ostream &, const HepPolyhedron &ph) |
Definition at line 194 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 194 of file HepPolyhedron.h
|
inline |
Definition at line 239 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 239 of file HepPolyhedron.h
HepPolyhedron::HepPolyhedron | ( | const HepPolyhedron & | from | ) |
Definition at line 107 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 107 of file HepPolyhedron.cc
References AllocateMemory(), for(), k, nface, nvert, pF, and pV.
HepPolyhedron::HepPolyhedron | ( | HepPolyhedron && | from | ) |
Definition at line 121 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 121 of file HepPolyhedron.cc
|
inlinevirtual |
Definition at line 248 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 248 of file HepPolyhedron.h
HepPolyhedron HepPolyhedron::add | ( | const HepPolyhedron & | p | ) | const |
Definition at line 2322 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 2322 of file HepPolyhedron.cc
References processor.
Definition at line 292 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 292 of file HepPolyhedron.cc
References nface, nvert, pF, and pV.
Referenced by createPolyhedron(), createTwistedTrap(), G4PolyhedronArbitrary::G4PolyhedronArbitrary(), HepPolyhedron(), HepPolyhedronTrap::HepPolyhedronTrap(), HepPolyhedronTrd2::HepPolyhedronTrd2(), operator=(), and RotateAroundZ().
G4int HepPolyhedron::createPolyhedron | ( | G4int | Nnodes, |
G4int | Nfaces, | ||
const G4double | xyz[][3], | ||
const G4int | faces[][4] | ||
) |
Creates user defined polyhedron. This function allows to the user to define arbitrary polyhedron. The faces of the polyhedron should be either triangles or planar quadrilateral. Nodes of a face are defined by indexes pointing to the elements in the xyz array. Numeration of the elements in the array starts from 1 (like in fortran). The indexes can be positive or negative. Negative sign means that the corresponding edge is invisible. The normal of the face should be directed to exterior of the polyhedron.
Nnodes | number of nodes |
Nfaces | number of faces |
xyz | nodes |
faces | faces (quadrilaterals or triangles) |
Definition at line 1418 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1418 of file HepPolyhedron.cc
References AllocateMemory(), k, nvert, pF, pV, and SetReferences().
Referenced by G4GenericPolycone::CreatePolyhedron(), G4VTwistedFaceted::CreatePolyhedron(), G4TwistedTubs::CreatePolyhedron(), G4Polyhedra::CreatePolyhedron(), G4Tet::CreatePolyhedron(), and G4CutTubs::CreatePolyhedron().
|
protected |
Definition at line 318 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 318 of file HepPolyhedron.cc
References pF.
Referenced by HepPolyhedronTrap::HepPolyhedronTrap(), and HepPolyhedronTrd2::HepPolyhedronTrd2().
G4int HepPolyhedron::createTwistedTrap | ( | G4double | Dz, |
const G4double | xy1[][2], | ||
const G4double | xy2[][2] | ||
) |
Creates polyhedron for twisted trapezoid. The trapezoid is given by two bases perpendicular to the z-axis.
Dz | half length in z |
xy1 | 1st base (at z = -Dz) |
xy2 | 2nd base (at z = +Dz) |
Definition at line 1349 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1349 of file HepPolyhedron.cc
References AllocateMemory(), pF, and pV.
Definition at line 188 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 188 of file HepPolyhedron.cc
References kdfinder::abs(), and v.
|
protected |
Definition at line 216 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 216 of file HepPolyhedron.cc
References k, n, CLHEP::normal(), and HepGeom::BasicVector3D< T >::unit().
void HepPolyhedron::GetFacet | ( | G4int | iFace, |
G4int & | n, | ||
G4int * | iNodes, | ||
G4int * | edgeFlags = 0 , |
||
G4int * | iFaces = 0 |
||
) | const |
Definition at line 1125 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1125 of file HepPolyhedron.cc
Referenced by G4CutTubs::CreatePolyhedron().
void HepPolyhedron::GetFacet | ( | G4int | iFace, |
G4int & | n, | ||
G4Point3D * | nodes, | ||
G4int * | edgeFlags = 0 , |
||
G4Normal3D * | normals = 0 |
||
) | const |
Definition at line 1159 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1159 of file HepPolyhedron.cc
References n.
Definition at line 1084 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1084 of file HepPolyhedron.cc
Referenced by G4GMocrenFileSceneHandler::AddSolid(), PerspectiveVisAction::ExtendedDraw(), and G4GMocrenFileSceneHandler::ExtractDetector().
G4bool HepPolyhedron::GetNextEdge | ( | G4Point3D & | p1, |
G4Point3D & | p2, | ||
G4int & | edgeFlag, | ||
G4int & | iface1, | ||
G4int & | iface2 | ||
) | const |
Definition at line 1105 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1105 of file HepPolyhedron.cc
|
inline |
Definition at line 282 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 282 of file HepPolyhedron.h
References GetNextEdgeIndices().
Definition at line 288 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 288 of file HepPolyhedron.h
References GetNextEdgeIndices().
G4bool HepPolyhedron::GetNextEdgeIndices | ( | G4int & | i1, |
G4int & | i2, | ||
G4int & | edgeFlag, | ||
G4int & | iface1, | ||
G4int & | iface2 | ||
) | const |
Definition at line 1015 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1015 of file HepPolyhedron.cc
References kdfinder::abs(), G4ThreadLocal, k1, k2, and v.
Referenced by GetNextEdgeIndeces().
Definition at line 1068 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1068 of file HepPolyhedron.cc
G4bool HepPolyhedron::GetNextFacet | ( | G4int & | n, |
G4Point3D * | nodes, | ||
G4int * | edgeFlags = 0 , |
||
G4Normal3D * | normals = 0 |
||
) | const |
Definition at line 1181 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1181 of file HepPolyhedron.cc
References G4ThreadLocal, and n.
Referenced by PerspectiveVisAction::ExtendedDraw().
G4bool HepPolyhedron::GetNextNormal | ( | G4Normal3D & | normal | ) | const |
Definition at line 1261 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1261 of file HepPolyhedron.cc
References G4ThreadLocal, and CLHEP::normal().
Referenced by G4HepRepSceneHandler::AddPrimitive(), and G4HepRepFileSceneHandler::AddPrimitive().
G4bool HepPolyhedron::GetNextUnitNormal | ( | G4Normal3D & | normal | ) | const |
Definition at line 1282 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1282 of file HepPolyhedron.cc
References CLHEP::normal().
Definition at line 965 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 965 of file HepPolyhedron.cc
Referenced by G4HepRepSceneHandler::AddPrimitive(), and G4HepRepFileSceneHandler::AddPrimitive().
G4bool HepPolyhedron::GetNextVertex | ( | G4Point3D & | vertex, |
G4int & | edgeFlag, | ||
G4Normal3D & | normal | ||
) | const |
Definition at line 983 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 983 of file HepPolyhedron.cc
References G4ThreadLocal, k, CLHEP::normal(), and v.
Definition at line 918 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 918 of file HepPolyhedron.cc
References kdfinder::abs(), G4ThreadLocal, and v.
Referenced by G4GMocrenFileSceneHandler::AddPrimitive().
|
inline |
Definition at line 261 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 261 of file HepPolyhedron.h
References nface.
Referenced by G4XXXSceneHandler::AddPrimitive(), G4GMocrenFileSceneHandler::AddPrimitive(), G4HepRepSceneHandler::AddPrimitive(), G4HepRepFileSceneHandler::AddPrimitive(), G4CutTubs::CreatePolyhedron(), and G4PhysicalVolumeModel::DescribeSolid().
G4Normal3D HepPolyhedron::GetNormal | ( | G4int | iFace | ) | const |
Definition at line 1211 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1211 of file HepPolyhedron.cc
References kdfinder::abs(), and v.
|
inline |
Definition at line 258 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 258 of file HepPolyhedron.h
References nvert.
|
inline |
Definition at line 257 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 257 of file HepPolyhedron.h
References nvert.
Referenced by G4GMocrenFileSceneHandler::AddSolid(), and G4CutTubs::CreatePolyhedron().
|
static |
Definition at line 244 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 244 of file HepPolyhedron.cc
References fNumberOfRotationSteps.
Referenced by G4GenericPolycone::CreatePolyhedron(), G4VTwistedFaceted::CreatePolyhedron(), G4TwistedTubs::CreatePolyhedron(), G4ArrowModel::G4ArrowModel(), G4ViewParameters::G4ViewParameters(), G4CSGSolid::GetPolyhedron(), G4BooleanSolid::GetPolyhedron(), G4VCSGfaceted::GetPolyhedron(), G4VTwistedFaceted::GetPolyhedron(), G4EllipticalTube::GetPolyhedron(), G4ScaledSolid::GetPolyhedron(), G4ReflectedSolid::GetPolyhedron(), G4TwistedTubs::GetPolyhedron(), G4Paraboloid::GetPolyhedron(), G4Ellipsoid::GetPolyhedron(), G4Hype::GetPolyhedron(), G4Tet::GetPolyhedron(), G4GenericTrap::GetPolyhedron(), G4MultiUnion::GetPolyhedron(), G4EllipticalCone::GetPolyhedron(), G4DisplacedSolid::GetPolyhedron(), G4TessellatedSolid::GetPolyhedron(), HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(), HepPolyhedronHype::HepPolyhedronHype(), HepPolyhedronParaboloid::HepPolyhedronParaboloid(), HepPolyhedronSphere::HepPolyhedronSphere(), HepPolyhedronTorus::HepPolyhedronTorus(), and RotateAroundZ().
G4double HepPolyhedron::GetSurfaceArea | ( | ) | const |
Definition at line 1298 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1298 of file HepPolyhedron.cc
References kdfinder::abs(), Acts::VectorHelpers::cross(), nface, pF, pV, and v.
G4Normal3D HepPolyhedron::GetUnitNormal | ( | G4int | iFace | ) | const |
Definition at line 1236 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1236 of file HepPolyhedron.cc
References kdfinder::abs(), Acts::VectorHelpers::cross(), and v.
Definition at line 945 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 945 of file HepPolyhedron.cc
Referenced by G4GMocrenFileSceneHandler::AddSolid(), and G4CutTubs::CreatePolyhedron().
G4double HepPolyhedron::GetVolume | ( | ) | const |
Definition at line 1320 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 1320 of file HepPolyhedron.cc
References kdfinder::abs(), Acts::VectorHelpers::cross(), nface, pF, pt, pV, and v.
HepPolyhedron HepPolyhedron::intersect | ( | const HepPolyhedron & | p | ) | const |
Definition at line 2337 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 2337 of file HepPolyhedron.cc
References processor.
|
protected |
Definition at line 867 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 867 of file HepPolyhedron.cc
References G4Facet::edge, f, G4Facet::G4Edge::f, k, nface, pF, v, and G4Facet::G4Edge::v.
Referenced by G4PolyhedronArbitrary::InvertFacets(), and Transform().
HepPolyhedron & HepPolyhedron::operator= | ( | const HepPolyhedron & | from | ) |
Definition at line 142 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 142 of file HepPolyhedron.cc
References AllocateMemory(), for(), k, nface, nvert, pF, and pV.
HepPolyhedron & HepPolyhedron::operator= | ( | HepPolyhedron && | from | ) |
Definition at line 160 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 160 of file HepPolyhedron.cc
|
static |
Definition at line 279 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 279 of file HepPolyhedron.cc
References DEFAULT_NUMBER_OF_STEPS, and fNumberOfRotationSteps.
Referenced by G4PhysicalVolumeModel::DescribeSolid(), and G4VSceneHandler::RequestPrimitives().
|
protected |
Definition at line 471 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 471 of file HepPolyhedron.cc
References kdfinder::abs(), AllocateMemory(), GetNumberOfRotationSteps(), k, nface, perMillion, pV, RotateEdge(), SetSideFacets(), spatialTolerance, twopi, v1, and v2.
Referenced by HepPolyhedronCons::HepPolyhedronCons(), HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(), HepPolyhedronEllipticalCone::HepPolyhedronEllipticalCone(), HepPolyhedronHype::HepPolyhedronHype(), HepPolyhedronParaboloid::HepPolyhedronParaboloid(), HepPolyhedronPgon::HepPolyhedronPgon(), HepPolyhedronSphere::HepPolyhedronSphere(), and HepPolyhedronTorus::HepPolyhedronTorus().
|
protected |
Definition at line 338 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 338 of file HepPolyhedron.cc
Referenced by RotateAroundZ().
Definition at line 257 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 257 of file HepPolyhedron.cc
References fNumberOfRotationSteps, and n.
Referenced by G4PhysicalVolumeModel::DescribeSolid(), G4ArrowModel::G4ArrowModel(), and G4VSceneHandler::RequestPrimitives().
|
protected |
Definition at line 718 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 718 of file HepPolyhedron.cc
References kdfinder::abs(), G4Facet::edge, G4Facet::G4Edge::f, k1, k2, nface, nvert, pF, v, G4Facet::G4Edge::v, and v2.
Referenced by createPolyhedron(), HepPolyhedronCons::HepPolyhedronCons(), HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(), HepPolyhedronEllipticalCone::HepPolyhedronEllipticalCone(), HepPolyhedronHype::HepPolyhedronHype(), HepPolyhedronParaboloid::HepPolyhedronParaboloid(), HepPolyhedronPgon::HepPolyhedronPgon(), HepPolyhedronSphere::HepPolyhedronSphere(), HepPolyhedronTorus::HepPolyhedronTorus(), and G4PolyhedronArbitrary::SetReferences().
|
protected |
Definition at line 400 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 400 of file HepPolyhedron.cc
References kdfinder::abs(), k1, k2, perMillion, pF, and pi.
Referenced by RotateAroundZ().
HepPolyhedron HepPolyhedron::subtract | ( | const HepPolyhedron & | p | ) | const |
Definition at line 2352 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 2352 of file HepPolyhedron.cc
References processor.
Referenced by StandaloneVisAction::Draw().
HepPolyhedron & HepPolyhedron::Transform | ( | const G4Transform3D & | t | ) |
Definition at line 893 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 893 of file HepPolyhedron.cc
References HepGeom::BasicVector3D< T >::cross(), d, InvertFacets(), nvert, pV, x, y, and z.
Referenced by G4GMocrenFileSceneHandler::AddSolid(), G4EllipticalTube::CreatePolyhedron(), G4ScaledSolid::CreatePolyhedron(), G4ReflectedSolid::CreatePolyhedron(), G4DisplacedSolid::CreatePolyhedron(), StandaloneVisAction::Draw(), G4ScoringCylinder::Draw(), G4ScoringBox::Draw(), G4ScoringCylinder::DrawColumn(), G4ScoringBox::DrawColumn(), G4GMocrenFileSceneHandler::ExtractDetector(), and G4ArrowModel::G4ArrowModel().
|
friend |
Definition at line 92 of file HepPolyhedron.cc.
View newest version in sPHENIX GitHub at line 92 of file HepPolyhedron.cc
|
staticprotected |
Definition at line 198 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 198 of file HepPolyhedron.h
Referenced by G4Polyhedron::G4Polyhedron(), GetNumberOfRotationSteps(), ResetNumberOfRotationSteps(), and SetNumberOfRotationSteps().
|
protected |
Definition at line 199 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 199 of file HepPolyhedron.h
Referenced by G4PolyhedronArbitrary::AddFacet(), AllocateMemory(), GetNoFacets(), GetSurfaceArea(), GetVolume(), HepPolyhedron(), InvertFacets(), operator<<(), operator=(), RotateAroundZ(), and SetReferences().
|
protected |
Definition at line 199 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 199 of file HepPolyhedron.h
Referenced by G4PolyhedronArbitrary::AddFacet(), G4PolyhedronArbitrary::AddVertex(), AllocateMemory(), createPolyhedron(), GetNoVerteces(), GetNoVertices(), HepPolyhedron(), HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(), HepPolyhedronEllipticalCone::HepPolyhedronEllipticalCone(), operator<<(), operator=(), SetReferences(), and Transform().
|
protected |
Definition at line 201 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 201 of file HepPolyhedron.h
Referenced by G4PolyhedronArbitrary::AddFacet(), AllocateMemory(), createPolyhedron(), CreatePrism(), createTwistedTrap(), GetSurfaceArea(), GetVolume(), HepPolyhedron(), InvertFacets(), operator<<(), operator=(), RotateEdge(), SetReferences(), SetSideFacets(), and ~HepPolyhedron().
|
protected |
Definition at line 200 of file HepPolyhedron.h.
View newest version in sPHENIX GitHub at line 200 of file HepPolyhedron.h
Referenced by G4PolyhedronArbitrary::AddVertex(), AllocateMemory(), createPolyhedron(), createTwistedTrap(), GetSurfaceArea(), GetVolume(), HepPolyhedron(), HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(), HepPolyhedronEllipticalCone::HepPolyhedronEllipticalCone(), HepPolyhedronTrap::HepPolyhedronTrap(), HepPolyhedronTrd2::HepPolyhedronTrd2(), operator<<(), operator=(), RotateAroundZ(), Transform(), and ~HepPolyhedron().