Import Geant4 9.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:58:43 +02:00
parent 96c8bcd0af
commit b79225fb37
7544 changed files with 245407 additions and 91099 deletions
@@ -25,7 +25,7 @@
//
//
// $Id: G4LorentzRotation.hh,v 1.5 2006/06/29 18:59:04 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4LorentzRotation_hh
#define G4LorentzRotation_hh
@@ -25,7 +25,7 @@
//
//
// $Id: G4LorentzVector.hh,v 1.5 2006/06/29 18:59:06 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4LorentzVector_hh
#define G4LorentzVector_hh
@@ -25,7 +25,7 @@
//
//
// $Id: G4Normal3D.hh,v 1.5 2006/06/29 18:59:09 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4NORMAL3D_HH
#define G4NORMAL3D_HH
@@ -25,7 +25,7 @@
//
//
// $Id: G4Plane3D.hh,v 1.5 2006/06/29 18:59:11 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4PLANE3D_HH
#define G4PLANE3D_HH
@@ -25,7 +25,7 @@
//
//
// $Id: G4Point3D.hh,v 1.5 2006/06/29 18:59:14 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4POINT3D_HH
#define G4POINT3D_HH
@@ -25,7 +25,7 @@
//
//
// $Id: G4Transform3D.hh,v 1.5 2006/06/29 18:59:16 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4TRANSFORM3D_HH
#define G4TRANSFORM3D_HH
@@ -25,7 +25,7 @@
//
//
// $Id: G4Vector3D.hh,v 1.5 2006/06/29 18:59:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4VECTOR3D_HH
#define G4VECTOR3D_HH
@@ -25,7 +25,7 @@
//
//
// $Id: geomdefs.hh,v 1.8 2007/05/18 07:21:39 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4AnalyticalPolSolver.hh,v 1.5 2006/06/29 18:59:23 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4ChebyshevApproximation.hh,v 1.6 2006/06/29 18:59:26 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4DataInterpolation.hh,v 1.5 2006/06/29 18:59:29 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussChebyshevQ.hh,v 1.5 2006/06/29 18:59:32 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussHermiteQ.hh,v 1.6 2006/06/29 18:59:35 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussJacobiQ.hh,v 1.5 2006/06/29 18:59:38 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussLaguerreQ.hh,v 1.6 2006/06/29 18:59:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussLegendreQ.hh,v 1.6 2006/06/29 18:59:42 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4Integrator.hh,v 1.7 2006/06/29 18:59:45 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4Integrator.icc,v 1.13 2006/06/29 18:59:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Implementation of G4Integrator methods.
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4JTPolynomialSolver.hh,v 1.6 2006/06/29 18:59:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolynomialSolver.hh,v 1.4 2006/06/29 18:59:52 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// class G4PolynomialSolver
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolynomialSolver.icc,v 1.8 2006/06/29 18:59:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// class G4PolynomialSolver
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4SimpleIntegration.hh,v 1.6 2006/06/29 18:59:56 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4SimplexDownhill.hh,v 1.3 2007/06/21 15:04:12 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4SimplexDownhill.icc,v 1.2 2007/05/11 13:05:53 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Author: Tatsumi Koi (SLAC/SCCS), 2007
// --------------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VGaussianQuadrature.hh,v 1.7 2006/06/29 18:59:58 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4AnalyticalPolSolver.cc,v 1.7 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "globals.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4ChebyshevApproximation.cc,v 1.7 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4ChebyshevApproximation.hh"
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DataInterpolation.cc,v 1.9 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4DataInterpolation.cc,v 1.10 2008/03/13 09:35:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4DataInterpolation.hh"
@@ -382,7 +382,7 @@ G4DataInterpolation::LocateArgument(G4double pX) const
while((kHigh - kLow) > 1)
{
k = (kHigh + kLow) >> 1 ; // compute midpoint 'bisection'
if(pX >= fArgument[k] == ascend)
if( (pX >= fArgument[k]) == ascend)
{
kLow = k ;
}
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussChebyshevQ.cc,v 1.6 2006/06/29 19:00:07 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4GaussChebyshevQ.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussHermiteQ.cc,v 1.8 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4GaussHermiteQ.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussJacobiQ.cc,v 1.8 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4GaussJacobiQ.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussLaguerreQ.cc,v 1.8 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4GaussLaguerreQ.hh"
@@ -25,7 +25,7 @@
//
//
// $Id: G4GaussLegendreQ.cc,v 1.8 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#include "G4GaussLegendreQ.hh"
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4JTPolynomialSolver.cc,v 1.6 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4JTPolynomialSolver.cc,v 1.7 2008/03/13 09:35:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class source file
@@ -136,9 +136,9 @@ G4int G4JTPolynomialSolver::FindRoots(G4double *op, G4int degr,
//
sc = lo/min;
if ( sc <= 1.0 && max >= 10.0
|| sc > 1.0 && infin/sc >= max
|| infin/sc >= max && max >= 10 )
if ( ((sc <= 1.0) && (max >= 10.0))
|| ((sc > 1.0) && (infin/sc >= max))
|| ((infin/sc >= max) && (max >= 10)) )
{
if (!( sc != 0.0 ))
{ sc = smalno ; }
@@ -381,7 +381,7 @@ void G4JTPolynomialSolver::ComputeFixedShiftPolynomial(G4int l2, G4int *nz)
//
vtry = 0;
stry = 0;
if (spass && (!vpass) || tss < tvv)
if ((spass && (!vpass)) || (tss < tvv))
{
RealPolynomialIteration(&xs,nz,&iflag);
if (*nz > 0) { return; }
@@ -25,7 +25,7 @@
//
//
// $Id: G4SimpleIntegration.cc,v 1.7 2006/06/29 19:00:21 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Implementation file for simple integration methods
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VGaussianQuadrature.cc,v 1.7 2006/06/29 19:00:23 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Implementation file for G4VGaussianQuadrature virtual base class
//
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Poisson.hh,v 1.9 2006/06/29 19:00:44 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4RandomDirection.hh,v 1.3 2006/06/29 19:00:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4RandomDirection.hh,v 1.5 2008/03/19 17:00:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -33,11 +33,16 @@
// ------------------------------------------------------------
// Class description:
//
// Funtion returning a unit 3-vector homogeneously randomised over 4pi
// Function returning a unit 3-vector homogeneously randomised over 4pi
// solid angle. It can be used in any particle scattering methods
// instead of:
// z=R1, x=SQRT(1-R1*R1)*SIN(2*pi*R2), y=SQRT(1-R1*R1)*COS(2*pi*R2)
// providing more performant results.
// History:
// 18.03.08 V. Grichine, unit radius sphere surface based algorithm
// ~ 2007 M. Kossov, algorithm based on 8 Quadrants technique
//
// ------------------------------------------------------------
#ifndef G4RANDOMDIR_HH
#define G4RANDOMDIR_HH
@@ -48,40 +53,13 @@
inline G4ThreeVector G4RandomDirection()
{
// Randomization in one of 8 Quadrants (x>0, y>0, z>0)
//
G4double x=G4UniformRand(), y=G4UniformRand(), z=G4UniformRand();
G4double r2= x*x+y*y+z*z;
while(r2>1.||r2<.000001)
{
x = G4UniformRand(); y = G4UniformRand(); z = G4UniformRand();
r2=x*x+y*y+z*z;
}
G4double r=std::sqrt(r2), quad=G4UniformRand();
if(quad>0.5)
{
if(quad>0.75)
{
if(quad>0.875) return G4ThreeVector(-x/r,-y/r,-z/r);
else return G4ThreeVector(-x/r,-y/r, z/r);
}
else
{
if(quad>0.625) return G4ThreeVector(-x/r, y/r,-z/r);
else return G4ThreeVector(-x/r, y/r, z/r);
}
}
else
{
if(quad>0.25)
{
if(quad>0.375) return G4ThreeVector( x/r,-y/r,-z/r);
else return G4ThreeVector( x/r,-y/r, z/r);
}
else if(quad>0.125) return G4ThreeVector( x/r, y/r,-z/r);
}
return G4ThreeVector( x/r, y/r, z/r);
G4double cosTheta = 2.*G4UniformRand()-1.;
G4double sinTheta2 = 1. - cosTheta*cosTheta;
if( sinTheta2 < 0.) sinTheta2 = 0.;
G4double sinTheta = std::sqrt(sinTheta2);
G4double phi = twopi*G4UniformRand();
return G4ThreeVector(sinTheta*std::cos(phi),
sinTheta*std::sin(phi), cosTheta).unit();
}
#endif /* G4RANDOMDIR_HH */
@@ -0,0 +1,90 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4RandomTools.hh,v 1.2 2008/11/07 17:54:21 gum Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ---------------------------------------------------------------------------
// GEANT 4 class header file
// ---------------------------------------------------------------------------
// Class description:
//
// Utility functions
// History:
//
// 07.11.08 - P.Gumplinger, based on implementation in G4OpBoundaryProcess
//
// ---------------------------------------------------------------------------
#ifndef G4RANDOMTOOLS_HH
#define G4RANDOMTOOLS_HH
#include "globals.hh"
#include "Randomize.hh"
#include "G4RandomDirection.hh"
// ---------------------------------------------------------------------------
// Returns a random lambertian unit vector
//
inline G4ThreeVector G4LambertianRand(const G4ThreeVector& normal)
{
G4ThreeVector vect;
G4double ndotv;
do
{
vect = G4RandomDirection();
ndotv = normal * vect;
if (ndotv < 0.0)
{
vect = -vect;
ndotv = -ndotv;
}
} while (!(G4UniformRand() < ndotv));
return vect;
}
// ---------------------------------------------------------------------------
// Chooses a random vector within a plane given by the unit normal
//
inline G4ThreeVector G4PlaneVectorRand(const G4ThreeVector& normal)
{
G4ThreeVector vec1 = normal.orthogonal();
G4ThreeVector vec2 = vec1.cross(normal);
G4double phi = twopi*G4UniformRand();
G4double cosphi = std::cos(phi);
G4double sinphi = std::sin(phi);
return cosphi * vec1 + sinphi * vec2;
}
#endif /* G4RANDOMTOOLS_HH */
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: Randomize.hh,v 1.7 2006/06/29 19:00:50 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef randomize_h
#define randomize_h 1
+74 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.189 2007/11/20 10:54:17 gcosmo Exp $
$Id: History,v 1.216 2008/12/08 14:17:15 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,79 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Dec 08, 2008 G.Cosmo (global-V09-01-18)
- Added new constructor G4String(const char*, str_size).
Dec 02, 2008 G.Cosmo (global-V09-01-17)
- Changed date for release 9.2.
Nov 07, 2008 P.Gumplinger (global-V09-01-16)
- Removed unnecessary 'const' qualifier from G4PlaneVectorRand() function
declaration.
Nov 07, 2008 G.Cosmo (global-V09-01-15)
- Added header G4RandomTools.hh, implementing global utility methods for
random Lambertian vector and random plane vector. Implementation derived
from G4OpBoundaryProcess.
Oct 14, 2008 V.Ivantchenko (global-V09-01-14)
- G4PhysicsVector: changed algorithm for computation of second derivatives, to
guarantee continuity with first derivative; fixed second derivative at edges
of the vector to be the same as in neighboring nodes.
Sep 22, 2008 G.Cosmo (global-V09-01-13)
- Corrected initialisation of vectors to conform to definition in
G4PhysicsVector, and added protections against empty vectors. (V.Ivantchenko)
- Corrected definition of copy-constructor and operator=() in G4PhysicsVector
and added corresponding definitions in derived classes, where needed.
Aug 15, 2008 G.Cosmo (global-V09-01-12)
- Restored original implementation of G4SwapPtr() but using reference of
pointers as arguments, allowing for unambiguous use from client code.
Aug 14, 2008 P.Gumplinger (global-V09-01-10, global-V09-01-11)
- Corrected G4SwapPtr() function in templates.hh (see also problem
report #1020).
Jun 26, 2008 G.Cosmo (global-V09-01-09)
- Corrected version number tag.
Jun 23, 2008 G.Cosmo (global-V09-01-08)
- Changed date for release 9.2-beta.
May 06, 2008 M.Maire (global-V09-01-07)
- G4UnitsTable: added units for electric-field, V/m.
Apr 23, 2008 G.Cosmo (global-V09-01-06)
- Changed date for release 9.1.p02.
Apr 21, 2008 V.Ivantchenko (global-V09-01-05)
- Corrected deletion of temporary in G4PhysicsVector::FillSecondDerivatives().
Apr 07, 2008 A.Bagulya, V.Ivantchenko (global-V09-01-04)
- G4PhysicsVector:
o Introduced cubic spline interpolation, optionally selectable.
o Optimised implementation of GetValue() method.
- G4LPhysicsFreeVector: corrected use of GetValue() to adopt implementation
available from the base class.
Mar 19, 2008 V.Grichine (global-V09-01-03)
- Modified G4RandomDirection global function to use unit radius sphere surface
algorithm instead of 8-quadrants technique, giving 30% performance boost.
Mar 13, 2008 G.Cosmo (global-V09-01-02)
- Introduced inclusion of <cstring> and <climits> in G4String.hh and
templates.hh respectively for porting on gcc-4.3.0 compiler.
- Cleared compilation warnings in G4DataInterpolation and G4JTPolynomialSolver
on gcc-4.3.0 for ambiguous use of parentheses in condition statements.
Feb 15, 2008 G.Cosmo (global-V09-01-01)
- Removed useless specification of units in implementation of
G4GeometryTolerance::SetSurfaceTolerance().
Jan 22, 2008 G.Cosmo (global-V09-01-00)
- Changed date for release 9.1.p01.
Nov 20, 2007 G.Cosmo (global-V09-00-02)
- Changed date for release 9.1.
@@ -25,7 +25,7 @@
//
//
// $Id: G4Allocator.hh,v 1.18 2006/06/29 19:01:16 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4AllocatorPool.hh,v 1.5 2006/06/29 19:01:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// -------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ApplicationState.hh,v 1.4 2006/06/29 19:01:20 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
#ifndef G4APPLICATIONSTATE_H
@@ -25,7 +25,7 @@
//
//
// $Id: G4DataVector.hh,v 1.15 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4DataVector.icc,v 1.2 2006/06/29 19:01:24 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// class G4DataVector inline implementation
@@ -25,7 +25,7 @@
//
//
// $Id: G4ErrorPropagatorData.hh,v 1.3 2007/06/08 10:33:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ErrorPropagatorData.icc,v 1.4 2007/06/08 10:33:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// Class G4ErrorPropagatorData inline implementation
@@ -25,7 +25,7 @@
//
//
// $Id: G4ExceptionSeverity.hh,v 1.3 2006/06/29 19:01:27 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// Class Description:
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4FPEDetection.hh,v 1.2 2006/11/15 16:00:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// -*- C++ -*-
@@ -25,7 +25,7 @@
//
//
// $Id: G4FastVector.hh,v 1.5 2006/06/29 19:01:48 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4GeometryTolerance.hh,v 1.2 2007/06/18 13:26:40 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------------
// GEANT 4 class header file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4LPhysicsFreeVector.hh,v 1.8 2006/06/29 19:01:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4LPhysicsFreeVector.hh,v 1.11 2008/09/22 08:26:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------------
@@ -41,13 +41,9 @@
// A subdivision method is used to find the energy|momentum bin.
// F.W. Jones, TRIUMF, 04-JUN-96
//
// 10-JUL-96 FWJ: adapted to changes in G4PhysicsVector.
//
// 27-MAR-97 FWJ: first version for Alpha release
// 20-JUN-97 FWJ: added comment re GetValue(): no longer virtual
// 11-NOV-00 H.Kurashige: use STL vector for dataVector and binVector
//
// 02-APR-08 A.Bagulya: use GetValue() from base class
// ------------------------------------------------------------------
#ifndef G4LPhysicsFreeVector_h
#define G4LPhysicsFreeVector_h 1
@@ -57,23 +53,22 @@
class G4LPhysicsFreeVector : public G4PhysicsVector
{
public:
public: // with description
G4LPhysicsFreeVector();
public: // with description
G4LPhysicsFreeVector(size_t nbin, G4double binmin, G4double binmax);
~G4LPhysicsFreeVector();
G4LPhysicsFreeVector(const G4LPhysicsFreeVector&);
G4LPhysicsFreeVector& operator=(const G4LPhysicsFreeVector&);
// Copy constructor and assignment operator.
void PutValues(size_t binNumber, G4double binValue, G4double dataValue);
// G4PhysicsVector has PutValue() but it is inconvenient.
// Want to simultaneously fill the bin and data vectors.
G4double GetValue(G4double theEnergy, G4bool& isOutRange);
// Note that theEnergy could be energy, momentum, or whatever.
void SetVerboseLevel(G4int value);
G4int GetVerboseLevel(G4int);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4LPhysicsFreeVector.icc,v 1.7 2006/06/29 19:02:10 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4LPhysicsFreeVector.icc,v 1.13 2008/09/22 08:26:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------------
@@ -41,77 +41,20 @@
// F.W. Jones, TRIUMF, 04-JUN-96
// --------------------------------------------------------------------------
// G4PhysicsVector has PutValue() but it is inconvenient.
// Want to simultaneously fill the bin and data vectors.
inline
void G4LPhysicsFreeVector::PutValues(size_t binNumber,
G4double binValue, G4double dataValue)
// G4PhysicsVector has PutValue() but it is inconvenient.
// Want to simultaneously fill the bin and data vectors.
{
binVector[binNumber] = binValue;
dataVector[binNumber] = dataValue;
if(binNumber == 0)
{ edgeMin = binValue; }
else if( numberOfBin - 1 == binNumber)
{ edgeMax = binValue; }
}
// Note that theEnergy could be energy, momentum, or whatever.
// Note: GetValue() is no longer virtual in the parent class
// G4PhysicsVector, so at present the following function cannot
// be called through a base class pointer.
inline
G4double G4LPhysicsFreeVector::GetValue(G4double theEnergy, G4bool& isOutRange)
{
G4double returnValue = 0.;
// verboseLevel = 2;
if (theEnergy < edgeMin)
{
isOutRange = true;
#ifdef G4VERBOSE
if (verboseLevel > 1)
{
G4cout << "G4LPhysicsFreeVector::GetValue " << theEnergy
<< " " << dataVector[0] << " " << isOutRange << G4endl;
}
#endif
returnValue = dataVector[0];
}
else if (theEnergy > edgeMax)
{
isOutRange = true;
#ifdef G4VERBOSE
if (verboseLevel > 1)
{
G4cout << "G4LPhysicsFreeVector::GetValue " << theEnergy
<< " " << dataVector[numberOfBin - 1]
<< " " << isOutRange << G4endl;
}
#endif
returnValue = dataVector[numberOfBin - 1];
}
else
{
isOutRange = false;
G4int n = FindBinLocation(theEnergy);
G4double dsde = (dataVector[n + 1] - dataVector[n])/
(binVector[n + 1] - binVector[n]);
#ifdef G4VERBOSE
if (verboseLevel > 1)
{
G4cout << "G4LPhysicsFreeVector::GetValue " << theEnergy
<< " " << dataVector[n] + (theEnergy - binVector[n])*dsde
<< " " << isOutRange << G4endl;
}
#endif
returnValue = dataVector[n] + (theEnergy - binVector[n])*dsde;
}
return returnValue;
}
inline
void G4LPhysicsFreeVector::SetVerboseLevel(G4int value)
{
@@ -25,7 +25,7 @@
//
//
// $Id: G4OrderedTable.hh,v 1.14 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsFreeVector.hh,v 1.10 2006/06/29 19:02:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsFreeVector.hh,v 1.12 2008/09/22 14:49:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//--------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsLinearVector.hh,v 1.10 2006/06/29 19:02:21 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsLinearVector.hh,v 1.11 2008/09/22 11:37:09 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//--------------------------------------------------------------------
@@ -72,6 +72,10 @@ class G4PhysicsLinearVector : public G4PhysicsVector
~G4PhysicsLinearVector();
// Destructor
G4PhysicsLinearVector(const G4PhysicsLinearVector&);
G4PhysicsLinearVector& operator=(const G4PhysicsLinearVector&);
// Copy constructor and assignment operator.
G4bool Retrieve(std::ifstream& fIn, G4bool ascii);
protected:
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsLnVector.hh,v 1.12 2006/06/29 19:02:23 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsLnVector.hh,v 1.13 2008/09/22 11:37:09 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//--------------------------------------------------------------------
@@ -69,6 +69,10 @@ class G4PhysicsLnVector : public G4PhysicsVector
~G4PhysicsLnVector();
// Destructor.
G4PhysicsLnVector(const G4PhysicsLnVector&);
G4PhysicsLnVector& operator=(const G4PhysicsLnVector&);
// Copy constructor and assignment operator.
G4bool Retrieve(std::ifstream& fIn, G4bool ascii);
// To retrieve persistent data from file stream.
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsLogVector.hh,v 1.11 2006/06/29 19:02:25 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsLogVector.hh,v 1.13 2008/09/22 08:26:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//--------------------------------------------------------------------
@@ -74,9 +74,13 @@ class G4PhysicsLogVector : public G4PhysicsVector
~G4PhysicsLogVector();
// Destructor
G4PhysicsLogVector(const G4PhysicsLogVector&);
G4PhysicsLogVector& operator=(const G4PhysicsLogVector&);
// Copy constructor and assignment operator.
G4bool Retrieve(std::ifstream& fIn, G4bool ascii);
// To retrieve persistent data from file stream.
protected:
size_t FindBinLocation(G4double theEnergy) const;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsOrderedFreeVector.hh,v 1.9 2006/06/29 19:02:28 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsOrderedFreeVector.hh,v 1.11 2008/09/22 14:49:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
////////////////////////////////////////////////////////////////////////
// PhysicsOrderedFreeVector Class Definition
@@ -25,7 +25,7 @@
//
//
// $Id: G4PhysicsOrderedFreeVector.icc,v 1.8 2006/06/29 19:02:31 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
////////////////////////////////////////////////////////////////////////
// PhysicsOrderedFreeVector Class Inline Functions Definitions
@@ -25,7 +25,7 @@
//
//
// $Id: G4PhysicsTable.hh,v 1.18 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4PhysicsTable.icc,v 1.8 2006/06/29 19:02:36 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsVector.hh,v 1.14 2006/06/29 19:02:38 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsVector.hh,v 1.18 2008/09/22 08:26:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//---------------------------------------------------------------
@@ -47,9 +47,9 @@
// 27 Apr. 1996, K.Amako : Cache mechanism added
// 01 Jul. 1996, K.Amako : Now GetValue not virtual
// 21 Sep. 1996, K.Amako : Added [] and () operators
// 11 Nov. 2000, H.Kurashige : use STL vector for dataVector and binVector
// 18 Jan. 2001, H.Kurashige : removed ptrNextTable
// 09 Mar. 2001, H.Kurashige : added G4PhysicsVectorType & Store/Retrieve()
// 11 Nov. 2000, H.Kurashige : Use STL vector for dataVector and binVector
// 09 Mar. 2001, H.Kurashige : Added G4PhysicsVectorType & Store/Retrieve()
// 02 Apr. 2008, A.Bagulya : Added SplineInterpolation() and SetSpline()
//
//---------------------------------------------------------------
@@ -62,13 +62,13 @@
#include <iostream>
#include <fstream>
#include "G4PhysicsVectorType.hh"
#include "G4PhysicsVectorType.hh"
class G4PhysicsVector
{
public:
G4PhysicsVector();
G4PhysicsVector(G4bool spline = false);
// constructor
// This class is an abstract class with pure virtual method of
// virtual size_t FindBinLocation(G4double theEnergy) const
@@ -128,6 +128,9 @@ class G4PhysicsVector
inline G4PhysicsVectorType GetType() const;
// Get physics vector type
inline void SetSpline(G4bool);
// Activate/deactivate Spline interpolation.
virtual G4bool Store(std::ofstream& fOut, G4bool ascii=false);
virtual G4bool Retrieve(std::ifstream& fIn, G4bool ascii=false);
@@ -137,12 +140,15 @@ class G4PhysicsVector
protected:
inline G4double LinearInterpolation(G4double theEnergy, size_t theLocBin);
// Linear interpolation function
virtual size_t FindBinLocation(G4double theEnergy) const=0;
// Find the bin# in which theEnergy belongs - pure virtual function
void DeleteData();
void CopyData(const G4PhysicsVector& vec);
// Internal methods for allowing copy of objects
protected:
typedef std::vector<G4double> G4PVDataVector;
G4PhysicsVectorType type; // The type of PhysicsVector (enumerator)
@@ -160,7 +166,20 @@ class G4PhysicsVector
private:
G4String comment;
inline G4double LinearInterpolation();
// Linear interpolation function
inline G4double SplineInterpolation();
// Spline interpolation function
inline void Interpolation();
void FillSecondDerivatives();
// Initialise second derivatives for spline
G4double* secDerivative;
G4String comment;
G4bool useSpline;
};
#include "G4PhysicsVector.icc"
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhysicsVector.icc,v 1.9 2006/06/29 19:02:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4PhysicsVector.icc,v 1.17 2008/09/22 08:26:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//---------------------------------------------------------------
@@ -42,13 +42,13 @@
//
//---------------------------------------------------------------
inline
G4double G4PhysicsVector::operator[](const size_t binNumber) const
{
return dataVector[binNumber];
}
//---------------------------------------------------------------
inline
G4double G4PhysicsVector::operator()(const size_t binNumber) const
@@ -56,6 +56,7 @@ inline
return dataVector[binNumber];
}
//---------------------------------------------------------------
inline
size_t G4PhysicsVector::GetVectorLength() const
@@ -63,75 +64,104 @@ inline
return numberOfBin;
}
//---------------------------------------------------------------
inline
G4double G4PhysicsVector::LinearInterpolation(G4double theEnergy,
size_t theLocBin)
G4double G4PhysicsVector::LinearInterpolation()
{
// Linear interpolation is used to get the value. If the give energy
// is in the highest bin, no interpolation will be Done. Because
// there is an extra bin hidden from a user at locBin=numberOfBin,
// the following interpolation is valid even the current locBin=
// numberOfBin-1.
G4double intplFactor = (theEnergy-binVector[theLocBin])
/ (binVector[theLocBin+1]-binVector[theLocBin]); // Interpolation factor
G4double intplFactor = (lastEnergy-binVector[lastBin])
/ (binVector[lastBin+1]-binVector[lastBin]); // Interpolation factor
return dataVector[theLocBin] +
( dataVector[theLocBin+1]-dataVector[theLocBin] ) * intplFactor;
return dataVector[lastBin] +
( dataVector[lastBin+1]-dataVector[lastBin] ) * intplFactor;
}
//---------------------------------------------------------------
inline
G4double G4PhysicsVector::GetValue(G4double theEnergy,
G4bool& isOutRange)
G4double G4PhysicsVector::SplineInterpolation()
{
// Spline interpolation is used to get the value. If the give energy
// is in the highest bin, no interpolation will be Done. Because
// there is an extra bin hidden from a user at locBin=numberOfBin,
// the following interpolation is valid even the current locBin=
// numberOfBin-1.
if( !secDerivative ) { FillSecondDerivatives(); }
// check bin value
G4double delta = binVector[lastBin+1] - binVector[lastBin];
G4double a = (binVector[lastBin+1] - lastEnergy)/delta;
G4double b = (lastEnergy - binVector[lastBin])/delta;
// Final evaluation of cubic spline polynomial for return
G4double y1 = dataVector[lastBin];
G4double y2 = dataVector[lastBin+1];
G4double res = a*y1 + b*y2 +
((a*a*a - a)*secDerivative[lastBin] +
(b*b*b - b)*secDerivative[lastBin+1])*delta*delta/6.0 ;
return res;
}
//---------------------------------------------------------------
inline
G4double G4PhysicsVector::GetValue(G4double theEnergy, G4bool&)
{
// Use cache for speed up - check if the value 'theEnergy' is same as the
// last call. If it is same, then use the last bin location. Also the
// value 'theEnergy' lies between the last energy and low edge of of the
// bin of last call, then the last bin location is used.
isOutRange = false; // No range check.
size_t locBin = 0;
if( !(theEnergy != lastEnergy) ) {
return lastValue;
} else if( (theEnergy < lastEnergy)
&& (theEnergy >= binVector[lastBin]) ) {
locBin = lastBin;
if( theEnergy == lastEnergy ) {
} else if(theEnergy < lastEnergy && theEnergy >= binVector[lastBin]) {
lastEnergy = theEnergy;
lastValue = LinearInterpolation(theEnergy, locBin);
return lastValue;
Interpolation();
} else if( theEnergy < edgeMin ){
} else if( theEnergy <= edgeMin ) {
lastBin = 0;
lastEnergy = edgeMin;
lastValue = dataVector[0];
} else if(theEnergy < lastEnergy && theEnergy >= binVector[lastBin-1]) {
lastBin--;
lastEnergy = theEnergy;
lastValue = dataVector[0];
return lastValue;
Interpolation();
} else if( theEnergy >= edgeMax ){
lastBin = numberOfBin-1;
lastEnergy = theEnergy;
lastValue = dataVector[ numberOfBin-1 ];
return lastValue;
lastEnergy = edgeMax;
lastValue = dataVector[lastBin];
} else {
locBin = FindBinLocation(theEnergy);
lastBin = locBin;
} else {
lastBin = FindBinLocation(theEnergy);
lastEnergy = theEnergy;
lastValue = LinearInterpolation(theEnergy, locBin);
return lastValue;
Interpolation();
}
return lastValue;
}
//---------------------------------------------------------------
inline
void G4PhysicsVector::Interpolation()
{
if(useSpline) { lastValue = SplineInterpolation(); }
else { lastValue = LinearInterpolation(); }
}
//---------------------------------------------------------------
inline
void G4PhysicsVector::PutValue(size_t binNumber, G4double theValue)
{
@@ -139,11 +169,12 @@ inline
// Fill the bin which is hidden to user with theValue. This is to
// handle correctly when Energy=theEmax in getValue.
if(binNumber==numberOfBin-1) {
dataVector[binNumber+1] = theValue;
}
if(binNumber==numberOfBin-1) { dataVector[binNumber+1] = theValue; }
}
//---------------------------------------------------------------
inline
G4bool G4PhysicsVector::IsFilledVectorExist() const
{
@@ -153,6 +184,7 @@ inline
return status;
}
//---------------------------------------------------------------
inline
void G4PhysicsVector::PutComment(const G4String& theComment)
@@ -160,14 +192,26 @@ inline
comment = theComment;
}
//---------------------------------------------------------------
inline
const G4String& G4PhysicsVector::GetComment() const
{
return comment;
}
//---------------------------------------------------------------
inline
G4PhysicsVectorType G4PhysicsVector::GetType() const
{
return type;
}
//---------------------------------------------------------------
inline
void G4PhysicsVector::SetSpline(G4bool val)
{
useSpline = val;
}
@@ -25,7 +25,7 @@
//
//
// $Id: G4PhysicsVectorType.hh,v 1.4 2006/06/29 19:02:42 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// --------------------------------------------------------------
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4ReferenceCountedHandle.hh,v 1.15 2006/06/29 19:02:46 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// Class G4ReferenceCountedHandle
@@ -25,7 +25,7 @@
//
//
// $Id: G4RotationMatrix.hh,v 1.5 2006/06/29 19:02:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4SIunits.hh,v 1.5 2006/09/15 08:16:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// ----------------------------------------------------------------------
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4SliceTimer.hh,v 1.1 2006/10/23 07:43:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4SliceTimer.icc,v 1.1 2006/10/23 07:43:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4StateManager.hh,v 1.10 2006/06/29 19:02:59 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4StateManager.icc,v 1.2 2006/06/29 19:03:02 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
+5 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4String.hh,v 1.7 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4String.hh,v 1.10 2008/12/08 14:16:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//---------------------------------------------------------------
@@ -46,6 +46,8 @@
#include <stdio.h>
#include <string>
#include <cstring>
#include "G4Types.hh"
#include <iostream>
@@ -113,6 +115,7 @@ public:
inline G4String ();
inline G4String ( char );
inline G4String ( const char * );
inline G4String ( const char *, str_size );
inline G4String ( const G4String& );
inline G4String ( const G4SubString& );
inline G4String ( const std::string & );
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4String.icc,v 1.9 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4String.icc,v 1.11 2008/12/08 14:16:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//---------------------------------------------------------------
@@ -137,6 +137,9 @@ G4String::G4String () {}
G4String::G4String ( const char * astring )
: std_string ( astring ) {}
G4String::G4String ( const char * astring, str_size len )
: std_string ( astring, len ) {}
G4String::G4String ( char c )
{
char str[2];
@@ -25,7 +25,7 @@
//
//
// $Id: G4ThreeVector.hh,v 1.5 2006/06/29 19:03:12 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Timer.hh,v 1.14 2006/06/29 19:03:15 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Timer.icc,v 1.2 2006/06/29 19:03:17 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4Tokenizer.hh,v 1.2 2006/06/29 19:03:20 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//---------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4TwoVector.hh,v 1.1 2007/02/09 12:10:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Types.hh,v 1.14 2006/06/29 19:03:22 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// GEANT4 native types
@@ -25,7 +25,7 @@
//
//
// $Id: G4UnitsTable.hh,v 1.18 2006/11/30 10:37:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// -----------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4UnitsTable.icc,v 1.2 2006/06/29 19:03:26 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4UserLimits.hh,v 1.9 2006/06/29 19:03:28 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// class G4UserLimits
@@ -25,7 +25,7 @@
//
//
// $Id: G4UserLimits.icc,v 1.8 2006/06/29 19:03:31 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VExceptionHandler.hh,v 1.2 2006/06/29 19:03:33 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VNotifier.hh,v 1.2 2006/06/29 19:03:35 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
// class G4VNotifier
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4VStateDependent.hh,v 1.5 2006/06/29 19:03:37 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Version.hh,v 1.12 2007/11/20 10:54:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4Version.hh,v 1.17 2008/12/02 09:15:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// Version information
//
@@ -46,18 +46,18 @@
// |--> patch number
#ifndef G4VERSION_NUMBER
#define G4VERSION_NUMBER 910
#define G4VERSION_NUMBER 920
#endif
#ifndef G4VERSION_TAG
#define G4VERSION_TAG "$Name: geant4-09-01 $"
#define G4VERSION_TAG "$Name: geant4-09-02 $"
#endif
// as variables
#include "G4String.hh"
static const G4String G4Version = "$Name: geant4-09-01 $";
static const G4String G4Date = "(14-December-2007)";
static const G4String G4Version = "$Name: geant4-09-02 $";
static const G4String G4Date = "(19-December-2008)";
#endif
@@ -25,7 +25,7 @@
//
//
// $Id: G4coutDestination.hh,v 1.6 2006/06/29 19:03:41 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ---------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4ios.hh,v 1.10 2006/06/29 19:03:43 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ---------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4strstreambuf.hh,v 1.16 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
// ====================================================================
//
// G4strstreambuf
@@ -25,7 +25,7 @@
//
//
// $Id: G4strstreambuf.icc,v 1.13 2006/06/29 19:03:49 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
// ====================================================================
// G4strstreambuf.icc
//
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: globals.hh,v 1.27 2006/06/29 19:03:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// Global Constants and typedefs
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: templates.hh,v 1.10 2006/06/29 19:03:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: templates.hh,v 1.13 2008/08/15 12:15:53 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// -*- C++ -*-
@@ -52,6 +52,7 @@
#define templates_h 1
#include <limits>
#include <climits>
//
// If HIGH_PRECISION is defined to TRUE (ie. != 0) then the type "Float"
@@ -110,8 +111,8 @@ typedef float Float;
//---------------------------------
template <class T>
inline void G4SwapPtr(T* a, T* b) {
T* tmp=a;
inline void G4SwapPtr(T*& a, T*& b) {
T* tmp= a;
a = b;
b = tmp;
}
@@ -25,7 +25,7 @@
//
//
// $Id: G4AllocatorPool.cc,v 1.4 2006/06/29 19:03:57 gunter Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4DataVector.cc,v 1.9 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ErrorPropagatorData.cc,v 1.3 2007/06/05 13:04:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// --------------------------------------------------------------------
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Exception.cc,v 1.21 2007/11/13 17:35:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// GEANT4 tag $Name: geant4-09-02 $
//
//
// ----------------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GeometryTolerance.cc,v 1.2 2007/06/18 13:26:40 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-01 $
// $Id: G4GeometryTolerance.cc,v 1.3 2008/02/15 07:29:51 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
//
// class G4GeometryTolerance
//
@@ -107,7 +107,7 @@ void G4GeometryTolerance::SetSurfaceTolerance(G4double worldExtent)
{
if (!fInitialised)
{
fCarTolerance = worldExtent*1E-11*mm;
fCarTolerance = worldExtent*1E-11;
fInitialised = true;
}
else

Some files were not shown because too many files have changed in this diff Show More