Import Geant4 10.7.0.beta source tree
This commit is contained in:
@@ -1,23 +1,9 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# CMakeLists.txt
|
||||
# Module : G4graphics_reps
|
||||
# Package: Geant4.src.G4graphics_reps
|
||||
#
|
||||
# CMakeLists.txt for single level library that may be build global or granular
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
include(Geant4MacroLibraryTargets)
|
||||
|
||||
# Add allocation export symbol for the graphics_reps category
|
||||
add_definitions(-DG4GREPS_ALLOC_EXPORT)
|
||||
|
||||
if(GEANT4_BUILD_GRANULAR_LIBS)
|
||||
GEANT4_GRANULAR_LIBRARY_TARGET(COMPONENT sources.cmake)
|
||||
else()
|
||||
GEANT4_GLOBAL_LIBRARY_TARGET(COMPONENTS sources.cmake)
|
||||
endif()
|
||||
|
||||
geant4_global_library_target(COMPONENTS sources.cmake)
|
||||
|
||||
@@ -19,6 +19,28 @@ committal in the CVS repository !
|
||||
History file for graphics_reps category
|
||||
---------------------------------------
|
||||
|
||||
04 March 2020. John Allison (greps-V10-06-03)
|
||||
- operator<<(...const std::map<G4String,G4AttDef>*):
|
||||
o Improve deprecation message.
|
||||
|
||||
22 February 2020 Evgueni Tcherniaev (greps-V10-06-02)
|
||||
- HepPolyhedron: Added HepPolyhedronTet and HepPolyhedronHyberbolicMirror
|
||||
- G4Polyhedron: Added G4PolyhedronTet and G4PolyhedronHyberbolicMirror
|
||||
|
||||
13 February 2020 John Allison (greps-V10-06-01)
|
||||
- G4VisAttributes:
|
||||
o Clarify that if number of cloud points (for cloud style drawing)
|
||||
is <= 0, this is to be interpreted as under control of the viewer,
|
||||
i.e., to be decided by the viewer. Otherwise this number is to be
|
||||
drawn.
|
||||
o Make 0 the default value.
|
||||
o It may be changed with SetForceNumberOfCloudPoints.
|
||||
o You may also force cloud drawing with SetForceCloud.
|
||||
|
||||
09 December 2019 Ben Morgan (greps-V10-06-00)
|
||||
- Cleanup CMake build, removing obsolete granular library option and
|
||||
explicit include_directories.
|
||||
|
||||
07 November 2019 Evgueni Tcherniaev (greps-V10-05-06)
|
||||
- HepPolyhedron: Added move constructor and move assignment
|
||||
- BooleanProcessor::createPolyhedron(): Use return std::move()
|
||||
|
||||
@@ -66,8 +66,17 @@
|
||||
// phi,dphi,the,dthe) - create G4Polyhedron for Sphere;
|
||||
// G4PolyhedronTorus(rmin,rmax,rtor,
|
||||
// phi,dphi) - create G4Polyhedron for Torus;
|
||||
// G4PolyhedronTet(p0[3],p1[3],p2[3],p3[3]) - create polyhedron for Tet;
|
||||
//
|
||||
// G4PolyhedronEllipsoid(dx,dy,dz,
|
||||
// zcut1,zcut2) - create G4Polyhedron for Ellipsoid;
|
||||
// zcut1,zcut2) - create G4Polyhedron for Ellipsoid;
|
||||
// G4PolyhedronEllipticalCone(dx,dy,z,
|
||||
// zcut1) - create polyhedron for Elliptical cone;
|
||||
// G4PolyhedronParaboloid(r1,r2,dz,
|
||||
// phi,dphi) - create polyhedron for Paraboloid;
|
||||
// G4PolyhedronHype(r1,r2,
|
||||
// tan1,tan2,halfz) - create polyhedron for Hype;
|
||||
// G4PolyhedronHyperbolicMirror(a,h,r) - create polyhedron for Hyperbolic mirror;
|
||||
//
|
||||
// Public functions inherited from HepPolyhedron (this list might be
|
||||
// incomplete):
|
||||
@@ -180,6 +189,15 @@ public:
|
||||
virtual ~G4PolyhedronSphere ();
|
||||
};
|
||||
|
||||
class G4PolyhedronTet: public G4Polyhedron {
|
||||
public:
|
||||
G4PolyhedronTet (const G4double p0[3],
|
||||
const G4double p1[3],
|
||||
const G4double p2[3],
|
||||
const G4double p3[3]);
|
||||
virtual ~G4PolyhedronTet ();
|
||||
};
|
||||
|
||||
class G4PolyhedronTorus: public G4Polyhedron {
|
||||
public:
|
||||
G4PolyhedronTorus (G4double rmin, G4double rmax, G4double rtor,
|
||||
@@ -252,6 +270,12 @@ class G4PolyhedronEllipticalCone : public G4Polyhedron {
|
||||
virtual ~G4PolyhedronEllipticalCone ();
|
||||
};
|
||||
|
||||
class G4PolyhedronHyperbolicMirror : public G4Polyhedron {
|
||||
public:
|
||||
G4PolyhedronHyperbolicMirror(G4double a, G4double h, G4double r);
|
||||
virtual ~G4PolyhedronHyperbolicMirror ();
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const G4Polyhedron&);
|
||||
|
||||
#endif /* G4POLYHEDRON_HH */
|
||||
|
||||
@@ -111,6 +111,7 @@ public: // With description
|
||||
void SetForceSolid (G4bool = true);
|
||||
void SetForceCloud (G4bool = true);
|
||||
void SetForceNumberOfCloudPoints (G4int nPoints);
|
||||
// nPoints <= 0 means under control of viewer
|
||||
void SetForceAuxEdgeVisible (G4bool = true);
|
||||
void SetForceLineSegmentsPerCircle (G4int nSegments);
|
||||
// Allows choice of circle approximation. A circle of 360 degrees
|
||||
|
||||
@@ -62,8 +62,18 @@
|
||||
// - create polyhedron for Sphere;
|
||||
// HepPolyhedronTorus (rmin,rmax,rtor,phi,dphi)
|
||||
// - create polyhedron for Torus;
|
||||
// HepPolyhedronTet (p0[3],p1[3],p2[3],p3[3])
|
||||
// - create polyhedron for Tet;
|
||||
// HepPolyhedronEllipsoid (dx,dy,dz,zcut1,zcut2)
|
||||
// - create polyhedron for Ellipsoid;
|
||||
// HepPolyhedronEllipticalCone(dx,dy,z,zcut1)
|
||||
// - create polyhedron for Elliptical cone;
|
||||
// HepPolyhedronParaboloid (r1,r2,dz,phi,dphi)
|
||||
// - create polyhedron for Paraboloid;
|
||||
// HepPolyhedronHype (r1,r2,tan1,tan2,halfz)
|
||||
// - create polyhedron for Hype;
|
||||
// HepPolyhedronHyperbolicMirror (a,h,r)
|
||||
// - create polyhedron for Hyperbolic mirror;
|
||||
// Public functions:
|
||||
//
|
||||
// GetNoVertices () - returns number of vertices;
|
||||
@@ -505,6 +515,16 @@ class HepPolyhedronTorus : public HepPolyhedron
|
||||
virtual ~HepPolyhedronTorus();
|
||||
};
|
||||
|
||||
class HepPolyhedronTet : public HepPolyhedron
|
||||
{
|
||||
public:
|
||||
HepPolyhedronTet(const G4double p0[3],
|
||||
const G4double p1[3],
|
||||
const G4double p2[3],
|
||||
const G4double p3[3]);
|
||||
virtual ~HepPolyhedronTet();
|
||||
};
|
||||
|
||||
class HepPolyhedronEllipsoid : public HepPolyhedron
|
||||
{
|
||||
public:
|
||||
@@ -521,4 +541,11 @@ class HepPolyhedronEllipticalCone : public HepPolyhedron
|
||||
virtual ~HepPolyhedronEllipticalCone();
|
||||
};
|
||||
|
||||
class HepPolyhedronHyperbolicMirror : public HepPolyhedron
|
||||
{
|
||||
public:
|
||||
HepPolyhedronHyperbolicMirror(G4double a, G4double h, G4double r);
|
||||
virtual ~HepPolyhedronHyperbolicMirror();
|
||||
};
|
||||
|
||||
#endif /* HEP_POLYHEDRON_HH */
|
||||
|
||||
@@ -1,113 +1,92 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# sources.cmake
|
||||
# Module : G4graphics_reps
|
||||
# Package: Geant4.src.G4graphics_reps
|
||||
#
|
||||
# Sources description for a library.
|
||||
# Lists the sources and headers of the code explicitely.
|
||||
# Lists include paths needed.
|
||||
# Lists the internal granular and global dependencies of the library.
|
||||
# Source specific properties should be added at the end.
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# List external includes needed.
|
||||
include_directories(${CLHEP_INCLUDE_DIRS})
|
||||
|
||||
# List internal includes needed.
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/HEPGeometry/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/global/management/include)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/source/intercoms/include)
|
||||
|
||||
#
|
||||
# Define the Geant4 Module.
|
||||
#
|
||||
include(Geant4MacroDefineModule)
|
||||
GEANT4_DEFINE_MODULE(NAME G4graphics_reps
|
||||
HEADERS
|
||||
G4AttCheck.hh
|
||||
G4AttDef.hh
|
||||
G4AttDefStore.hh
|
||||
G4AttDefT.hh
|
||||
G4AttHolder.hh
|
||||
G4AttUtils.hh
|
||||
G4AttValue.hh
|
||||
G4Circle.hh
|
||||
G4Color.hh
|
||||
G4Colour.hh
|
||||
G4ConversionFatalError.hh
|
||||
G4ConversionUtils.hh
|
||||
G4CreatorFactoryT.hh
|
||||
G4DimensionedDouble.hh
|
||||
G4DimensionedThreeVector.hh
|
||||
G4DimensionedType.hh
|
||||
G4PlacedPolyhedron.hh
|
||||
G4Point3DList.hh
|
||||
G4Polyhedron.hh
|
||||
G4PolyhedronArbitrary.hh
|
||||
G4Polyline.hh
|
||||
G4Polymarker.hh
|
||||
G4Polymarker.icc
|
||||
G4Scale.hh
|
||||
G4Scale.icc
|
||||
G4SmartFilter.hh
|
||||
G4Square.hh
|
||||
G4Square.icc
|
||||
G4Text.hh
|
||||
G4Text.icc
|
||||
G4TypeKey.hh
|
||||
G4TypeKeyT.hh
|
||||
G4VFilter.hh
|
||||
G4VGraphicsScene.hh
|
||||
G4VMarker.hh
|
||||
G4VMarker.icc
|
||||
G4VVisManager.hh
|
||||
G4VisAttributes.hh
|
||||
G4VisAttributes.icc
|
||||
G4VisExtent.hh
|
||||
G4Visible.hh
|
||||
G4Visible.icc
|
||||
HepPolyhedron.h
|
||||
HepPolyhedronProcessor.h
|
||||
graphics_reps_defs.hh
|
||||
SOURCES
|
||||
BooleanProcessor.src
|
||||
G4AttCheck.cc
|
||||
G4AttDef.cc
|
||||
G4AttDefStore.cc
|
||||
G4AttHolder.cc
|
||||
G4AttUtils.cc
|
||||
G4Circle.cc
|
||||
G4Colour.cc
|
||||
G4DimensionedTypeUtils.cc
|
||||
G4PlacedPolyhedron.cc
|
||||
G4Point3DList.cc
|
||||
G4Polyhedron.cc
|
||||
G4PolyhedronArbitrary.cc
|
||||
G4Polyline.cc
|
||||
G4Polymarker.cc
|
||||
G4Scale.cc
|
||||
G4Square.cc
|
||||
G4Text.cc
|
||||
G4VGraphicsScene.cc
|
||||
G4VMarker.cc
|
||||
G4VVisManager.cc
|
||||
G4VisAttributes.cc
|
||||
G4VisExtent.cc
|
||||
G4Visible.cc
|
||||
HepPolyhedron.cc
|
||||
HepPolyhedronProcessor.src
|
||||
GRANULAR_DEPENDENCIES
|
||||
G4globman
|
||||
G4intercoms
|
||||
GLOBAL_DEPENDENCIES
|
||||
G4global
|
||||
G4intercoms
|
||||
LINK_LIBRARIES
|
||||
geant4_define_module(NAME G4graphics_reps
|
||||
HEADERS
|
||||
G4AttCheck.hh
|
||||
G4AttDef.hh
|
||||
G4AttDefStore.hh
|
||||
G4AttDefT.hh
|
||||
G4AttHolder.hh
|
||||
G4AttUtils.hh
|
||||
G4AttValue.hh
|
||||
G4Circle.hh
|
||||
G4Color.hh
|
||||
G4Colour.hh
|
||||
G4ConversionFatalError.hh
|
||||
G4ConversionUtils.hh
|
||||
G4CreatorFactoryT.hh
|
||||
G4DimensionedDouble.hh
|
||||
G4DimensionedThreeVector.hh
|
||||
G4DimensionedType.hh
|
||||
G4PlacedPolyhedron.hh
|
||||
G4Point3DList.hh
|
||||
G4Polyhedron.hh
|
||||
G4PolyhedronArbitrary.hh
|
||||
G4Polyline.hh
|
||||
G4Polymarker.hh
|
||||
G4Polymarker.icc
|
||||
G4Scale.hh
|
||||
G4Scale.icc
|
||||
G4SmartFilter.hh
|
||||
G4Square.hh
|
||||
G4Square.icc
|
||||
G4Text.hh
|
||||
G4Text.icc
|
||||
G4TypeKey.hh
|
||||
G4TypeKeyT.hh
|
||||
G4VFilter.hh
|
||||
G4VGraphicsScene.hh
|
||||
G4VMarker.hh
|
||||
G4VMarker.icc
|
||||
G4VVisManager.hh
|
||||
G4VisAttributes.hh
|
||||
G4VisAttributes.icc
|
||||
G4VisExtent.hh
|
||||
G4Visible.hh
|
||||
G4Visible.icc
|
||||
HepPolyhedron.h
|
||||
HepPolyhedronProcessor.h
|
||||
graphics_reps_defs.hh
|
||||
SOURCES
|
||||
BooleanProcessor.src
|
||||
G4AttCheck.cc
|
||||
G4AttDef.cc
|
||||
G4AttDefStore.cc
|
||||
G4AttHolder.cc
|
||||
G4AttUtils.cc
|
||||
G4Circle.cc
|
||||
G4Colour.cc
|
||||
G4DimensionedTypeUtils.cc
|
||||
G4PlacedPolyhedron.cc
|
||||
G4Point3DList.cc
|
||||
G4Polyhedron.cc
|
||||
G4PolyhedronArbitrary.cc
|
||||
G4Polyline.cc
|
||||
G4Polymarker.cc
|
||||
G4Scale.cc
|
||||
G4Square.cc
|
||||
G4Text.cc
|
||||
G4VGraphicsScene.cc
|
||||
G4VMarker.cc
|
||||
G4VVisManager.cc
|
||||
G4VisAttributes.cc
|
||||
G4VisExtent.cc
|
||||
G4Visible.cc
|
||||
HepPolyhedron.cc
|
||||
HepPolyhedronProcessor.src
|
||||
GRANULAR_DEPENDENCIES
|
||||
G4globman
|
||||
G4intercoms
|
||||
GLOBAL_DEPENDENCIES
|
||||
G4global
|
||||
G4intercoms
|
||||
LINK_LIBRARIES
|
||||
)
|
||||
|
||||
# List any source specific properties here
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ using namespace std;
|
||||
std::ostream& operator<<
|
||||
(std::ostream& os, const std::map<G4String,G4AttDef>* definitions)
|
||||
{
|
||||
os << "Deprecated output function. Use const reference equivalent." << endl;
|
||||
os << "G4AttDef: Deprecated output function. Use const reference instead." << endl;
|
||||
if (definitions) {
|
||||
os << *definitions;
|
||||
} else {
|
||||
|
||||
@@ -89,6 +89,14 @@ G4PolyhedronSphere::G4PolyhedronSphere (G4double rmin, G4double rmax,
|
||||
|
||||
G4PolyhedronSphere::~G4PolyhedronSphere () {}
|
||||
|
||||
G4PolyhedronTet::G4PolyhedronTet (const G4double p0[3],
|
||||
const G4double p1[3],
|
||||
const G4double p2[3],
|
||||
const G4double p3[3]):
|
||||
G4Polyhedron (HepPolyhedronTet (p0, p1, p2, p3)) {}
|
||||
|
||||
G4PolyhedronTet::~G4PolyhedronTet () {}
|
||||
|
||||
G4PolyhedronTorus::G4PolyhedronTorus (G4double rmin, G4double rmax,
|
||||
G4double rtor,
|
||||
G4double phi, G4double dphi):
|
||||
@@ -157,6 +165,13 @@ G4PolyhedronEllipticalCone::G4PolyhedronEllipticalCone (G4double ax,
|
||||
|
||||
G4PolyhedronEllipticalCone::~G4PolyhedronEllipticalCone () {}
|
||||
|
||||
G4PolyhedronHyperbolicMirror::G4PolyhedronHyperbolicMirror (G4double a,
|
||||
G4double h,
|
||||
G4double r):
|
||||
G4Polyhedron (HepPolyhedronHyperbolicMirror(a, h, r)) {}
|
||||
|
||||
G4PolyhedronHyperbolicMirror::~G4PolyhedronHyperbolicMirror () {}
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const G4Polyhedron& polyhedron)
|
||||
{
|
||||
os << "G4Polyhedron: "
|
||||
|
||||
@@ -41,7 +41,7 @@ fLineStyle (unbroken),
|
||||
fLineWidth (1.),
|
||||
fForceDrawingStyle (false),
|
||||
fForcedStyle (wireframe),
|
||||
fForcedNumberOfCloudPoints (10000),
|
||||
fForcedNumberOfCloudPoints (0), // <= 0 means under control of viewer
|
||||
fForceAuxEdgeVisible (false),
|
||||
fForcedAuxEdgeVisible(false),
|
||||
fForcedLineSegmentsPerCircle (0), // <=0 means not forced.
|
||||
@@ -59,7 +59,7 @@ fLineStyle (unbroken),
|
||||
fLineWidth (1.),
|
||||
fForceDrawingStyle (false),
|
||||
fForcedStyle (wireframe),
|
||||
fForcedNumberOfCloudPoints (10000),
|
||||
fForcedNumberOfCloudPoints (0), // <= 0 means under control of viewer
|
||||
fForceAuxEdgeVisible (false),
|
||||
fForcedAuxEdgeVisible(false),
|
||||
fForcedLineSegmentsPerCircle (0), // <=0 means not forced.
|
||||
@@ -77,7 +77,7 @@ fLineStyle (unbroken),
|
||||
fLineWidth (1.),
|
||||
fForceDrawingStyle (false),
|
||||
fForcedStyle (wireframe),
|
||||
fForcedNumberOfCloudPoints (10000),
|
||||
fForcedNumberOfCloudPoints (0), // <= 0 means under control of viewer
|
||||
fForceAuxEdgeVisible (false),
|
||||
fForcedAuxEdgeVisible(false),
|
||||
fForcedLineSegmentsPerCircle (0), // <=0 means not forced.
|
||||
@@ -96,7 +96,7 @@ fLineStyle (unbroken),
|
||||
fLineWidth (1.),
|
||||
fForceDrawingStyle (false),
|
||||
fForcedStyle (wireframe),
|
||||
fForcedNumberOfCloudPoints (10000),
|
||||
fForcedNumberOfCloudPoints (0), // <= 0 means under control of viewer
|
||||
fForceAuxEdgeVisible (false),
|
||||
fForcedAuxEdgeVisible(false),
|
||||
fForcedLineSegmentsPerCircle (0), // <=0 means not forced.
|
||||
|
||||
@@ -2116,6 +2116,46 @@ HepPolyhedronTorus::HepPolyhedronTorus(G4double rmin,
|
||||
|
||||
HepPolyhedronTorus::~HepPolyhedronTorus() {}
|
||||
|
||||
HepPolyhedronTet::HepPolyhedronTet(const G4double p0[3],
|
||||
const G4double p1[3],
|
||||
const G4double p2[3],
|
||||
const G4double p3[3])
|
||||
/***********************************************************************
|
||||
* *
|
||||
* Name: HepPolyhedronTet Date: 21.02.2020 *
|
||||
* Author: E.Tcherniaev Revised: *
|
||||
* *
|
||||
* Function: Constructor of polyhedron for TETrahedron *
|
||||
* *
|
||||
* Input: p0,p1,p2,p3 - vertices *
|
||||
* *
|
||||
***********************************************************************/
|
||||
{
|
||||
AllocateMemory(4,4);
|
||||
|
||||
pV[1].set(p0[0], p0[1], p0[2]);
|
||||
pV[2].set(p1[0], p1[1], p1[2]);
|
||||
pV[3].set(p2[0], p2[1], p2[2]);
|
||||
pV[4].set(p3[0], p3[1], p3[2]);
|
||||
|
||||
G4Vector3D v1(pV[2] - pV[1]);
|
||||
G4Vector3D v2(pV[3] - pV[1]);
|
||||
G4Vector3D v3(pV[4] - pV[1]);
|
||||
|
||||
if (v1.cross(v2).dot(v3) < 0.)
|
||||
{
|
||||
pV[3].set(p3[0], p3[1], p3[2]);
|
||||
pV[4].set(p2[0], p2[1], p2[2]);
|
||||
}
|
||||
|
||||
pF[1] = G4Facet(1,2, 3,4, 2,3);
|
||||
pF[2] = G4Facet(1,3, 4,4, 3,1);
|
||||
pF[3] = G4Facet(1,1, 2,4, 4,2);
|
||||
pF[4] = G4Facet(2,1, 3,2, 4,3);
|
||||
}
|
||||
|
||||
HepPolyhedronTet::~HepPolyhedronTet() {}
|
||||
|
||||
HepPolyhedronEllipsoid::HepPolyhedronEllipsoid(G4double ax, G4double by,
|
||||
G4double cz, G4double zCut1,
|
||||
G4double zCut2)
|
||||
@@ -2307,6 +2347,68 @@ HepPolyhedronEllipticalCone::HepPolyhedronEllipticalCone(G4double ax,
|
||||
|
||||
HepPolyhedronEllipticalCone::~HepPolyhedronEllipticalCone() {}
|
||||
|
||||
HepPolyhedronHyperbolicMirror::HepPolyhedronHyperbolicMirror(G4double a,
|
||||
G4double h,
|
||||
G4double r)
|
||||
/***********************************************************************
|
||||
* *
|
||||
* Name: HepPolyhedronHyperbolicMirror Date: 22.02.2020 *
|
||||
* Author: E.Tcherniaev Revised: *
|
||||
* *
|
||||
* Function: Create polyhedron for Hyperbolic mirror *
|
||||
* *
|
||||
* Input: a - half-separation *
|
||||
* h - height *
|
||||
* r - radius *
|
||||
* *
|
||||
***********************************************************************/
|
||||
{
|
||||
G4double H = std::abs(h);
|
||||
G4double R = std::abs(r);
|
||||
G4double A = std::abs(a);
|
||||
G4double B = A*R/std::sqrt(2*A*H + H*H);
|
||||
|
||||
// P R E P A R E T W O P O L Y L I N E S
|
||||
|
||||
G4int np1 = (A == 0.) ? 2 : std::max(3, GetNumberOfRotationSteps()/4) + 1;
|
||||
G4int np2 = 2;
|
||||
G4double maxAng = (A == 0.) ? 0. : std::acosh(1. + H/A);
|
||||
G4double delAng = maxAng/(np1 - 1);
|
||||
|
||||
G4double *zz = new G4double[np1 + np2];
|
||||
G4double *rr = new G4double[np1 + np2];
|
||||
|
||||
// 1st polyline
|
||||
zz[0] = H;
|
||||
rr[0] = R;
|
||||
for (G4int iz = 1; iz < np1 - 1; ++iz)
|
||||
{
|
||||
G4double ang = maxAng - iz*delAng;
|
||||
zz[iz] = A*std::cosh(ang) - A;
|
||||
rr[iz] = B*std::sinh(ang);
|
||||
}
|
||||
zz[np1 - 1] = 0.;
|
||||
rr[np1 - 1] = 0.;
|
||||
|
||||
// 2nd polyline
|
||||
zz[np1] = H;
|
||||
rr[np1] = 0.;
|
||||
zz[np1 + 1] = 0.;
|
||||
rr[np1 + 1] = 0.;
|
||||
|
||||
// R O T A T E P O L Y L I N E S
|
||||
|
||||
G4double phi = 0.;
|
||||
G4double dphi = CLHEP::twopi;
|
||||
RotateAroundZ(0, phi, dphi, np1, np2, zz, rr, -1, -1);
|
||||
SetReferences();
|
||||
|
||||
delete [] zz;
|
||||
delete [] rr;
|
||||
}
|
||||
|
||||
HepPolyhedronHyperbolicMirror::~HepPolyhedronHyperbolicMirror() {}
|
||||
|
||||
G4ThreadLocal G4int HepPolyhedron::fNumberOfRotationSteps = DEFAULT_NUMBER_OF_STEPS;
|
||||
/***********************************************************************
|
||||
* *
|
||||
|
||||
Reference in New Issue
Block a user