|
| HepPolyhedronEllipsoid (G4double dx, G4double dy, G4double dz, G4double zcut1, G4double zcut2) |
|
virtual | ~HepPolyhedronEllipsoid () |
|
| HepPolyhedron () |
|
| HepPolyhedron (const HepPolyhedron &from) |
|
virtual | ~HepPolyhedron () |
|
HepPolyhedron & | operator= (const HepPolyhedron &from) |
|
G4int | GetNoVertices () const |
|
G4int | GetNoFacets () const |
|
HepPolyhedron & | Transform (const G4Transform3D &t) |
|
G4bool | GetNextVertexIndex (G4int &index, G4int &edgeFlag) const |
|
G4Point3D | GetVertex (G4int index) const |
|
G4bool | GetNextVertex (G4Point3D &vertex, G4int &edgeFlag) const |
|
G4bool | GetNextVertex (G4Point3D &vertex, G4int &edgeFlag, G4Normal3D &normal) const |
|
G4bool | GetNextEdgeIndeces (G4int &i1, G4int &i2, G4int &edgeFlag, G4int &iface1, G4int &iface2) const |
|
G4bool | GetNextEdgeIndeces (G4int &i1, G4int &i2, G4int &edgeFlag) const |
|
G4bool | GetNextEdge (G4Point3D &p1, G4Point3D &p2, G4int &edgeFlag) const |
|
G4bool | GetNextEdge (G4Point3D &p1, G4Point3D &p2, G4int &edgeFlag, G4int &iface1, G4int &iface2) const |
|
void | GetFacet (G4int iFace, G4int &n, G4int *iNodes, G4int *edgeFlags=0, G4int *iFaces=0) const |
|
void | GetFacet (G4int iFace, G4int &n, G4Point3D *nodes, G4int *edgeFlags=0, G4Normal3D *normals=0) const |
|
G4bool | GetNextFacet (G4int &n, G4Point3D *nodes, G4int *edgeFlags=0, G4Normal3D *normals=0) const |
|
G4Normal3D | GetNormal (G4int iFace) const |
|
G4Normal3D | GetUnitNormal (G4int iFace) const |
|
G4bool | GetNextNormal (G4Normal3D &normal) const |
|
G4bool | GetNextUnitNormal (G4Normal3D &normal) const |
|
HepPolyhedron | add (const HepPolyhedron &p) const |
|
HepPolyhedron | subtract (const HepPolyhedron &p) const |
|
HepPolyhedron | intersect (const HepPolyhedron &p) const |
|
G4double | GetSurfaceArea () const |
|
G4double | GetVolume () const |
|
G4int | createTwistedTrap (G4double Dz, const G4double xy1[][2], const G4double xy2[][2]) |
|
G4int | createPolyhedron (G4int Nnodes, G4int Nfaces, const G4double xyz[][3], const G4int faces[][4]) |
|
|
static G4int | GetNumberOfRotationSteps () |
|
static void | SetNumberOfRotationSteps (G4int n) |
|
static void | ResetNumberOfRotationSteps () |
|
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 () |
|
G4int | nvert |
|
G4int | nface |
|
G4Point3D * | pV |
|
G4Facet * | pF |
|
static G4ThreadLocal G4int | fNumberOfRotationSteps = DEFAULT_NUMBER_OF_STEPS |
|
Definition at line 497 of file HepPolyhedron.h.
Definition at line 2058 of file HepPolyhedron.cc.
References test::a, FatalException, G4Exception(), HepPolyhedron::GetNumberOfRotationSteps(), HepPolyhedron::nvert, python.hepunit::pi, HepPolyhedron::pV, HepPolyhedron::RotateAroundZ(), HepPolyhedron::SetReferences(), HepGeom::BasicVector3D< T >::setX(), HepGeom::BasicVector3D< T >::setY(), python.hepunit::twopi, HepGeom::BasicVector3D< T >::x(), and HepGeom::BasicVector3D< T >::y().
2078 if (zCut1 >= cz || zCut2 <= -cz || zCut1 > zCut2) {
2079 std::cerr <<
"HepPolyhedronEllipsoid: wrong zCut1 = " << zCut1
2080 <<
" zCut2 = " << zCut2
2081 <<
" for given cz = " << cz << std::endl;
2085 std::cerr <<
"HepPolyhedronEllipsoid: bad z semi-axis: cz = " << cz
2100 sthe= std::acos(zCut2/cz);
2109 dthe= std::acos(zCut1/cz)-sthe;
2124 G4Exception(
"HepPolyhedronEllipsoid::HepPolyhedronEllipsoid",
2137 for (
G4int i=0; i<np1-cutflag; i++) {
2138 cosa = std::cos(sthe+i*a);
2139 sina = std::sin(sthe+i*a);
2152 std::cerr <<
"Logic error in HepPolyhedronEllipsoid, memory corrupted!"
2157 std::cerr <<
"Warning: logic error in HepPolyhedronEllipsoid."
2177 p->
setX( p->
x() * ax/cz );
2178 p->
setY( p->
y() * by/cz );
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void RotateAroundZ(G4int nstep, G4double phi, G4double dphi, G4int np1, G4int np2, const G4double *z, G4double *r, G4int nodeVis, G4int edgeVis)
static G4int GetNumberOfRotationSteps()