Import Geant4 10.6.0 source tree
This commit is contained in:
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4Box
|
||||
//
|
||||
// Class description:
|
||||
@@ -36,14 +30,10 @@
|
||||
// A Box is a cuboid of given half lengths dx,dy,dz. The Box is
|
||||
// centred on the origin with sides parallel to the x/y/z axes.
|
||||
|
||||
// History:
|
||||
// 30.06.95 P.Kent: Converted from source code developed end 94
|
||||
// 27.03.96 J.Allison: Added virtual functions DescribeYourselfTo() and
|
||||
// SendWireframeTo(G4VGraphicsModel&)
|
||||
// 22.07.96 J.Allison: Changed G4VGraphicsModel to G4VGraphicsScene
|
||||
// and SendPolyhedronTo() to CreatePolyhedron()
|
||||
// 27.03.98 J.Apostolakis: Inherit from G4CSGSolid (not G4VSolid)
|
||||
// 18.11.99 J.Apostolakis, V.Grichine: kUndefined was added to ESide
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4BOX_HH
|
||||
#define G4BOX_HH
|
||||
@@ -71,7 +61,6 @@ class G4Box : public G4CSGSolid
|
||||
|
||||
virtual ~G4Box();
|
||||
|
||||
|
||||
void ComputeDimensions(G4VPVParameterisation* p,
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
@@ -103,8 +92,9 @@ class G4Box : public G4CSGSolid
|
||||
G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v) const;
|
||||
G4double DistanceToIn(const G4ThreeVector& p) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
|
||||
const G4bool calcNorm=false,
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
@@ -139,7 +129,7 @@ class G4Box : public G4CSGSolid
|
||||
|
||||
private:
|
||||
|
||||
G4double fDx,fDy,fDz;
|
||||
G4double fDx = 0.0, fDy = 0.0, fDz = 0.0;
|
||||
G4double delta; // Cached half Cartesian tolerance
|
||||
};
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Box.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Box
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4CSGSolid
|
||||
//
|
||||
// Class description:
|
||||
@@ -36,8 +30,7 @@
|
||||
// An abstract class inherited from G4VSolid for Constructed Solids.
|
||||
// Used primarily to structure inheritance tree.
|
||||
|
||||
// History:
|
||||
// 27.03.98 J.Apostolakis Created first version.
|
||||
// 27.03.98 J.Apostolakis - Created first version.
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4CSGSOLID_HH
|
||||
@@ -74,10 +67,10 @@ class G4CSGSolid : public G4VSolid
|
||||
|
||||
protected:
|
||||
|
||||
G4double fCubicVolume;
|
||||
G4double fSurfaceArea;
|
||||
mutable G4bool fRebuildPolyhedron;
|
||||
mutable G4Polyhedron* fpPolyhedron;
|
||||
G4double fCubicVolume = 0.0;
|
||||
G4double fSurfaceArea = 0.0;
|
||||
mutable G4bool fRebuildPolyhedron = false;
|
||||
mutable G4Polyhedron* fpPolyhedron = nullptr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Cons
|
||||
//
|
||||
// Class description:
|
||||
@@ -58,12 +52,11 @@
|
||||
// and fDPhi+fSPhi<=2PI. This enables simpler comparisons to be
|
||||
// made with (say) Phi of a point.
|
||||
|
||||
// History:
|
||||
// 19.3.94 P.Kent: Old C++ code converted to tolerant geometry
|
||||
// 13.9.96 V.Grichine: Final modifications to commit
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4Cons_HH
|
||||
#define G4Cons_HH
|
||||
#ifndef G4CONS_HH
|
||||
#define G4CONS_HH
|
||||
|
||||
#include "G4GeomTypes.hh"
|
||||
|
||||
@@ -146,9 +139,9 @@ class G4Cons : public G4CSGSolid
|
||||
G4double DistanceToIn (const G4ThreeVector& p) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p,
|
||||
const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0,
|
||||
G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
@@ -230,7 +223,7 @@ class G4Cons : public G4CSGSolid
|
||||
//
|
||||
// Cached trigonometric values
|
||||
|
||||
G4bool fPhiFullCone;
|
||||
G4bool fPhiFullCone = false;
|
||||
//
|
||||
// Flag for identification of section or full cone
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Cons.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Cons
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,23 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// G4CutTubs
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// G4CutTubs is a tube with possible cuts in +-Z.
|
||||
// Implementation adapted from G4Tubs (subclass of G4Tubs) and
|
||||
// from TGEo Ctube implementation (by A.Gheata, CERN)
|
||||
// Implementation adapted from G4Tubs (subclass of G4Tubs) and
|
||||
// from TGEo Ctube implementation (by A.Gheata, CERN)
|
||||
//
|
||||
// G4CutTubs(pName,pRMin,pRMax,pDZ,pSPhi,pEPhi,pLowNorm,pHighNorm)
|
||||
// pName,pRMin,pRMax,pDZ,pSPhi,pEPhi are the same as for G4Tubs,
|
||||
// pLowNorm=Outside Normal at -Z
|
||||
// pHighNorm=Outsie Normal at +Z.
|
||||
|
||||
// Author: Tatiana Nikitina, CERN
|
||||
// Author: Tatiana Nikitina, CERN
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4CUTTUBS_HH
|
||||
@@ -119,8 +116,9 @@ class G4CutTubs : public G4CSGSolid
|
||||
G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v) const;
|
||||
G4double DistanceToIn(const G4ThreeVector& p) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
@@ -203,7 +201,7 @@ class G4CutTubs : public G4CSGSolid
|
||||
//
|
||||
// Cached trigonometric values
|
||||
|
||||
G4bool fPhiFullCutTube;
|
||||
G4bool fPhiFullCutTube = false;
|
||||
//
|
||||
// Flag for identification of section or full tube
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4CutTubs.icc
|
||||
//
|
||||
// Implementation of inline methods of G4CutTubs
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Orb
|
||||
//
|
||||
// Class description:
|
||||
@@ -36,13 +30,11 @@
|
||||
// A G4Orb is a simple case of G4Sphere. It has only:
|
||||
// fRmax outer radius
|
||||
|
||||
// History:
|
||||
// 08.08.17 E.Tcherniaev - revised
|
||||
// 20.08.03 V.Grichine - created
|
||||
// 08.08.17 E.Tcherniaev - revised
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4Orb_HH
|
||||
#define G4Orb_HH
|
||||
#ifndef G4ORB_HH
|
||||
#define G4ORB_HH
|
||||
|
||||
#include "G4GeomTypes.hh"
|
||||
|
||||
@@ -102,9 +94,9 @@ class G4Orb : public G4CSGSolid
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p,
|
||||
const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0,
|
||||
G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
@@ -139,9 +131,9 @@ class G4Orb : public G4CSGSolid
|
||||
|
||||
private:
|
||||
|
||||
G4double fRmax;
|
||||
G4double halfRmaxTol;
|
||||
G4double sqrRmaxPlusTol, sqrRmaxMinusTol;
|
||||
G4double fRmax = 0.0;
|
||||
G4double halfRmaxTol = 0.0;
|
||||
G4double sqrRmaxPlusTol = 0.0, sqrRmaxMinusTol = 0.0;
|
||||
};
|
||||
|
||||
#include "G4Orb.icc"
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Orb.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Orb
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Para
|
||||
//
|
||||
// Class description:
|
||||
@@ -61,14 +55,11 @@
|
||||
// fTthetaCphi Tan theta * Cos phi
|
||||
// fTthetaSphi Tan theta * Sin phi
|
||||
|
||||
// History:
|
||||
// 21.3.94 P.Kent Old C++ code converted to tolerant geometry
|
||||
// 31.10.96 V.Grichine Modifications according G4Box/Tubs before to commit
|
||||
// 18.11.99 V.Grichine , kUndefined was added to ESide
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4Para_HH
|
||||
#define G4Para_HH
|
||||
#ifndef G4PARA_HH
|
||||
#define G4PARA_HH
|
||||
|
||||
#include "G4GeomTypes.hh"
|
||||
|
||||
@@ -142,8 +133,9 @@ class G4Para : public G4CSGSolid
|
||||
G4double DistanceToIn(const G4ThreeVector& p) const;
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Para.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Para
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Sphere
|
||||
//
|
||||
// Class description:
|
||||
@@ -60,13 +54,11 @@
|
||||
// and fDPhi+fSPhi<=2PI. This enables simpler comparisons to be
|
||||
// made with (say) Phi of a point.
|
||||
|
||||
// History:
|
||||
// 28.3.94 P.Kent: old C++ code converted to tolerant geometry
|
||||
// 17.9.96 V.Grichine: final modifications to commit
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4Sphere_HH
|
||||
#define G4Sphere_HH
|
||||
#ifndef G4SPHERE_HH
|
||||
#define G4SPHERE_HH
|
||||
|
||||
#include "G4GeomTypes.hh"
|
||||
|
||||
@@ -122,7 +114,7 @@ class G4Sphere : public G4CSGSolid
|
||||
|
||||
inline void SetInnerRadius (G4double newRMin);
|
||||
inline void SetOuterRadius (G4double newRmax);
|
||||
inline void SetStartPhiAngle (G4double newSphi, G4bool trig=true);
|
||||
inline void SetStartPhiAngle (G4double newSphi, G4bool trig = true);
|
||||
inline void SetDeltaPhiAngle (G4double newDphi);
|
||||
inline void SetStartThetaAngle(G4double newSTheta);
|
||||
inline void SetDeltaThetaAngle(G4double newDTheta);
|
||||
@@ -154,9 +146,9 @@ class G4Sphere : public G4CSGSolid
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p,
|
||||
const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0,
|
||||
G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
@@ -231,7 +223,7 @@ class G4Sphere : public G4CSGSolid
|
||||
enum ENorm {kNRMin,kNRMax,kNSPhi,kNEPhi,kNSTheta,kNETheta};
|
||||
|
||||
G4double fRminTolerance, fRmaxTolerance, kAngTolerance,
|
||||
kRadTolerance, fEpsilon;
|
||||
kRadTolerance, fEpsilon = 2.e-11;
|
||||
//
|
||||
// Radial and angular tolerances
|
||||
|
||||
@@ -249,7 +241,7 @@ class G4Sphere : public G4CSGSolid
|
||||
//
|
||||
// Cached trigonometric values for Theta angle
|
||||
|
||||
G4bool fFullPhiSphere, fFullThetaSphere, fFullSphere;
|
||||
G4bool fFullPhiSphere=false, fFullThetaSphere=false, fFullSphere=true;
|
||||
//
|
||||
// Flags for identification of section, shell or full sphere
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Sphere.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Sphere
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Torus
|
||||
//
|
||||
// Class description:
|
||||
@@ -73,15 +67,9 @@
|
||||
// relative to fRmin and fRmax, i.e. for solution of inside/outside
|
||||
// problems
|
||||
|
||||
// History:
|
||||
// 30.10.96 V.Grichine: first version of G4Torus
|
||||
// 21.04.98 J.Apostolakis: added SetAllParameters() function
|
||||
// 26.05.00 V.Grichine: added new SolveBiQuadratic/Cubic() developed
|
||||
// by O.Cremonesi
|
||||
// 31.08.00 E.Medernach: added SolveNumeric functions, migrated to
|
||||
// numeric solutions
|
||||
// 30.10.96 V.Grichine: first version
|
||||
// 31.08.00 E.Medernach: migrated to numeric solutions
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4TORUS_HH
|
||||
#define G4TORUS_HH
|
||||
|
||||
@@ -144,8 +132,9 @@ class G4Torus : public G4CSGSolid
|
||||
G4double DistanceToIn(const G4ThreeVector& p,const G4ThreeVector& v) const;
|
||||
G4double DistanceToIn(const G4ThreeVector& p) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p,const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0,G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Torus.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Torus
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,12 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4Trap
|
||||
//
|
||||
// Class description:
|
||||
@@ -84,16 +78,12 @@
|
||||
// TrapSidePlane fPlanes[4] Plane equations of the faces not at +/-fDz
|
||||
// NOTE: order is important !!!
|
||||
|
||||
// History:
|
||||
//
|
||||
// 23.3.94 P.Kent: Old C++ code converted to tolerant geometry
|
||||
// 9.9.96 V.Grichine: Final modifications before to commit
|
||||
// 1.11.96 V.Grichine: Costructors for Right Angular Wedge from STEP, G4Trd/Para
|
||||
// 8.12.97 J.Allison: Added "nominal" contructor and method SetAllParameters.
|
||||
// 8.12.97 J.Allison: Added "nominal" contructor and method SetAllParameters
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4Trap_HH
|
||||
#define G4Trap_HH
|
||||
#ifndef G4TRAP_HH
|
||||
#define G4TRAP_HH
|
||||
|
||||
#include "G4Types.hh"
|
||||
|
||||
@@ -223,8 +213,9 @@ class G4Trap : public G4CSGSolid
|
||||
G4double DistanceToIn( const G4ThreeVector& p ) const;
|
||||
|
||||
G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
|
||||
const G4bool calcNorm=false,
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
|
||||
G4double DistanceToOut( const G4ThreeVector& p ) const;
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Trap.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Trap
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4Trd
|
||||
//
|
||||
// Class description:
|
||||
@@ -45,14 +38,10 @@
|
||||
// fDy2 Half-length along y at the surface positioned at +dz
|
||||
// fDz Half-length along z axis
|
||||
|
||||
// History:
|
||||
// 12.01.95 P.Kent: Old prototype code converted to thick geometry
|
||||
// 17.02.95 P.Kent: Exiting normal return
|
||||
// 19.08.96 P.Kent, V.Grichine: Fs in accordance with G4Box
|
||||
// 21.04.97 J.Apostolakis: Added Set Methods
|
||||
// 19.11.99 V.Grichine: kUndefined was added to Eside enum
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4TRD_HH
|
||||
#define G4TRD_HH
|
||||
|
||||
@@ -132,9 +121,9 @@ class G4Trd : public G4CSGSolid
|
||||
|
||||
G4double DistanceToOut( const G4ThreeVector& p,
|
||||
const G4ThreeVector& v,
|
||||
const G4bool calcNorm=false,
|
||||
G4bool *validNorm=0,
|
||||
G4ThreeVector *n=0 ) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr ) const;
|
||||
|
||||
G4double DistanceToOut( const G4ThreeVector& p ) const;
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Trd.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Trd
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4Tubs
|
||||
//
|
||||
// Class description:
|
||||
@@ -57,12 +50,7 @@
|
||||
//
|
||||
// fPhiFullTube Boolean variable used for indicate the Phi Section
|
||||
|
||||
// History:
|
||||
// 10.08.95 P.Kent: General cleanup, use G4VSolid extent helper functions
|
||||
// to CalculateExtent()
|
||||
// 23.01.94 P.Kent: Converted to `tolerant' geometry
|
||||
// 19.07.96 J.Allison: G4GraphicsScene - see G4Box
|
||||
// 22.07.96 J.Allison: Changed SendPolyhedronTo to CreatePolyhedron
|
||||
// 23.01.94 P.Kent: First version. Converted to `tolerant' geometry
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4TUBS_HH
|
||||
#define G4TUBS_HH
|
||||
@@ -143,8 +131,9 @@ class G4Tubs : public G4CSGSolid
|
||||
G4double DistanceToIn(const G4ThreeVector& p, const G4ThreeVector& v) const;
|
||||
G4double DistanceToIn(const G4ThreeVector& p) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p, const G4ThreeVector& v,
|
||||
const G4bool calcNorm=G4bool(false),
|
||||
G4bool *validNorm=0, G4ThreeVector *n=0) const;
|
||||
const G4bool calcNorm = false,
|
||||
G4bool* validNorm = nullptr,
|
||||
G4ThreeVector* n = nullptr) const;
|
||||
G4double DistanceToOut(const G4ThreeVector& p) const;
|
||||
|
||||
G4GeometryType GetEntityType() const;
|
||||
@@ -196,10 +185,12 @@ class G4Tubs : public G4CSGSolid
|
||||
//
|
||||
// Recompute relevant trigonometric values and cache them
|
||||
|
||||
inline G4double FastInverseRxy( const G4ThreeVector& pos, G4double invRad, G4double normalTolerance ) const;
|
||||
inline G4double FastInverseRxy( const G4ThreeVector& pos, G4double invRad,
|
||||
G4double normalTolerance ) const;
|
||||
//
|
||||
// Compute fast inverse cylindrical (Rxy) radius for points expected to be on a cylindrical surface
|
||||
// Ensures that surface normal vector produced has magnitude with 'normalTolerance' of unit.
|
||||
// Compute fast inverse cylindrical (Rxy) radius for points expected to
|
||||
// be on a cylindrical surface. Ensures that surface normal vector
|
||||
// produced has magnitude with 'normalTolerance' of unit
|
||||
|
||||
virtual G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p ) const;
|
||||
//
|
||||
@@ -220,9 +211,10 @@ class G4Tubs : public G4CSGSolid
|
||||
//
|
||||
// Radial and angular tolerances
|
||||
|
||||
static constexpr G4double kNormTolerance= 1.0e-6;
|
||||
static constexpr G4double kNormTolerance = 1.0e-6;
|
||||
//
|
||||
// Tolerance of unity for surface normal (for speedup - use fInvRmax if possible )
|
||||
// Tolerance of unity for surface normal
|
||||
// (for speedup - use fInvRmax if possible )
|
||||
|
||||
G4double fRMin, fRMax, fDz, fSPhi, fDPhi;
|
||||
//
|
||||
|
||||
@@ -23,13 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 inline definitions file
|
||||
//
|
||||
// G4Tubs.icc
|
||||
//
|
||||
// Implementation of inline methods of G4Tubs
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
@@ -294,10 +287,12 @@ G4double G4Tubs::GetSurfaceArea()
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4Tubs::FastInverseRxy( const G4ThreeVector& pos, G4double invRad, G4double tolerance ) const
|
||||
G4double G4Tubs::FastInverseRxy( const G4ThreeVector& pos,
|
||||
G4double invRad,
|
||||
G4double tolerance ) const
|
||||
{
|
||||
G4double rho2 = sqr( pos.x() ) + sqr( pos.y() );
|
||||
G4bool onSurface = std::fabs( rho2 * invRad * invRad - 1.0 ) < tolerance;
|
||||
G4double invRho = onSurface ? invRad : 1.0 / sqrt(rho2);
|
||||
return invRho;
|
||||
G4double rho2 = sqr( pos.x() ) + sqr( pos.y() );
|
||||
G4bool onSurface = std::fabs( rho2 * invRad * invRad - 1.0 ) < tolerance;
|
||||
G4double invRho = onSurface ? invRad : 1.0 / std::sqrt(rho2);
|
||||
return invRho;
|
||||
}
|
||||
|
||||
@@ -22,20 +22,13 @@
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UBox
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Box to make use of VecGeom Box.
|
||||
// Wrapper class for G4Box to make use of VecGeom Box.
|
||||
|
||||
// History:
|
||||
// 13.09.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4UBOX_HH
|
||||
|
||||
@@ -23,22 +23,14 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4UCons
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for UCons to make use of UCons from USolids module.
|
||||
// Wrapper class for G4Cons to make use of VecGeom Cone.
|
||||
|
||||
// History:
|
||||
// 30.10.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4UCONS_HH
|
||||
#define G4UCONS_HH
|
||||
|
||||
|
||||
@@ -23,23 +23,14 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UCutTubs
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4CutTubs to make use of VecGeom CutTube.
|
||||
// Wrapper class for G4CutTubs to make use of VecGeom CutTube.
|
||||
|
||||
// History:
|
||||
// 07.07.17 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4UCUTTUBS_HH
|
||||
#define G4UCUTTUBS_HH
|
||||
|
||||
|
||||
@@ -23,23 +23,16 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4UOrb
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Orb to make use of VecGeom Orb.
|
||||
// Wrapper class for G4Orb to make use of VecGeom Orb.
|
||||
|
||||
// History:
|
||||
// 30.10.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4ORB_HH
|
||||
#define G4ORB_HH
|
||||
#ifndef G4UORB_HH
|
||||
#define G4UORB_HH
|
||||
|
||||
#include "G4UAdapter.hh"
|
||||
|
||||
|
||||
@@ -23,22 +23,14 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4UPara
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Para to make use of VecGeom Parallelepiped.
|
||||
// Wrapper class for G4Para to make use of VecGeom Parallelepiped.
|
||||
|
||||
// History:
|
||||
// 13.09.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4UPARA_HH
|
||||
#define G4UPARA_HH
|
||||
|
||||
|
||||
@@ -23,19 +23,12 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// G4USphere
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Sphere to make use of VecGeom Sphere.
|
||||
// Wrapper class for G4Sphere to make use of VecGeom Sphere.
|
||||
|
||||
// History:
|
||||
// 13.09.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4USPHERE_HH
|
||||
|
||||
@@ -23,19 +23,12 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UTorus
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for UTorus to make use of UTorus from USolids module.
|
||||
// Wrapper class for G4Torus to make use of VecGeom Torus.
|
||||
|
||||
// History:
|
||||
// 19.08.15 Guilherme Lima, FNAL
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4UTORUS_HH
|
||||
|
||||
@@ -23,23 +23,16 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UTrap
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Trap to make use of VecGeom Trapezoid.
|
||||
// Wrapper class for G4Trap to make use of VecGeom Trapezoid.
|
||||
|
||||
// History:
|
||||
// 13.09.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4UTrap_HH
|
||||
#define G4UTrap_HH
|
||||
#ifndef G4UTRAP_HH
|
||||
#define G4UTRAP_HH
|
||||
|
||||
#include "G4UAdapter.hh"
|
||||
|
||||
|
||||
@@ -23,19 +23,12 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UTrd
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Trd to make use of VecGeom Trd.
|
||||
// Wrapper class for G4Trd to make use of VecGeom Trd.
|
||||
|
||||
// History:
|
||||
// 13.09.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
#ifndef G4UTRD_HH
|
||||
|
||||
@@ -23,23 +23,14 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
//
|
||||
// G4UTubs
|
||||
//
|
||||
// Class description:
|
||||
//
|
||||
// Wrapper class for G4Tubs to make use of VecGeom Tube.
|
||||
// Wrapper class for G4Tubs to make use of VecGeom Tube.
|
||||
|
||||
// History:
|
||||
// 30.10.13 G.Cosmo, CERN/PH
|
||||
// --------------------------------------------------------------------
|
||||
|
||||
#ifndef G4UTUBS_HH
|
||||
#define G4UTUBS_HH
|
||||
|
||||
|
||||
Reference in New Issue
Block a user