Import Geant4 10.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2017-12-08 12:52:30 +01:00
parent 98e455a940
commit fc6af9e721
2166 changed files with 276760 additions and 100873 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4EllipticalCone.hh 104316 2017-05-24 13:04:23Z gcosmo $
// $Id: G4EllipticalCone.hh 105324 2017-07-21 07:34:10Z gcosmo $
//
//
// --------------------------------------------------------------------
@@ -55,24 +55,25 @@
// * *
// ***************************************************************************
//
// In case you want to construct G4EllipticalCone from :
// In case you want to construct G4EllipticalCone from:
// 1. halflength in Z = zTopCut
// 2. Dx and Dy = halflength of ellipse axis at z = -zTopCut
// 3. dx and dy = halflength of ellipse axis at z = zTopCut
// 3. dx and dy = halflength of ellipse axis at z = zTopCut
// ! Attention : dx/dy=Dx/Dy
//
// You need to find xSemiAxis,ySemiAxis and zheight:
//
// xSemiAxis = (Dx-dx)/(2*zTopCut)
// xSemiAxis = (Dx-dx)/(2*zTopCut)
// ySemiAxis = (Dy-dy)/(2*zTopCut)
// zheight = (Dx+dx)/(2*xSemiAxis)
//
// Author:
// First implementation:
// Dionysios Anninos, 8.9.2005
//
// Revision:
// Lukas Lindroos, Tatiana Nikitina 20.08.2007
//
// Revisions:
// Lukas Lindroos, Tatiana Nikitina, 20.08.2007
// Evgueni Tcherniaev, 20.07.2017
//
// --------------------------------------------------------------------
#ifndef G4EllipticalCone_HH
#define G4EllipticalCone_HH
@@ -96,6 +97,7 @@ class G4EllipticalCone : public G4VSolid
// Access functions
//
inline G4double GetSemiAxisMin () const;
inline G4double GetSemiAxisMax () const;
inline G4double GetSemiAxisX () const;
inline G4double GetSemiAxisY () const;
@@ -166,13 +168,17 @@ class G4EllipticalCone : public G4VSolid
private:
G4double kRadTolerance;
G4double halfRadTol, halfCarTol;
G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p) const;
// Algorithm for SurfaceNormal() following the original
// specification for points not on the surface
private:
G4double halfCarTol;
G4double fCubicVolume;
G4double fSurfaceArea;
G4double xSemiAxis, ySemiAxis, zheight,
semiAxisMax, zTopCut;
G4double xSemiAxis, ySemiAxis, zheight, zTopCut;
G4double cosAxisMin, invXX, invYY;
};
#include "G4EllipticalCone.icc"