Import Geant4 3.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:55:53 +02:00
parent e7d7193284
commit cfcb558cfe
3050 changed files with 91703 additions and 48310 deletions
+6 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1999/01/07 16:08:50 gunter Exp $
# $Id: GNUmakefile,v 1.2 2000/11/03 16:40:30 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for global. Gabriele Cosmo, 26/9/96.
# --------------------------------------------------------------
@@ -13,3 +13,8 @@ ifndef G4INSTALL
endif
include $(G4INSTALL)/config/globlib.gmk
includes::
@for dir in STLInterface HEPGeometry HEPRandom; do \
(cd $$dir && $(MAKE) $@); \
done
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4LorentzRotation.hh,v 1.2 1999/11/16 17:29:12 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4LorentzRotation_hh
#define G4LorentzRotation_hh
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4LorentzVector.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4LorentzVector_hh
#define G4LorentzVector_hh
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Normal3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4NORMAL3D_HH
#define G4NORMAL3D_HH
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Plane3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4PLANE3D_HH
#define G4PLANE3D_HH
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Point3D.hh,v 1.2 1999/11/16 17:29:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4POINT3D_HH
#define G4POINT3D_HH
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Transform3D.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4TRANSFORM3D_HH
#define G4TRANSFORM3D_HH
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Vector3D.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4VECTOR3D_HH
#define G4VECTOR3D_HH
+14 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: geomdefs.hh,v 1.2 1999/11/16 17:29:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: geomdefs.hh,v 1.3 2000/11/01 15:23:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ----------------------------------------------------------------------
@@ -59,4 +59,16 @@ enum EInside {kOutside,kSurface,kInside};
// after setup/modification via user object
enum EVolume {kNormal,kReplica,kParameterised};
// Default max size of Navigation history
//
static const G4int kHistoryMax = 15;
// History increase stride of Navigation history
//
static const G4int kHistoryStride = 16;
// Voxel stack depth maximum [no resizing]
//
static const G4int kNavigatorVoxelStackMax = 3;
#endif /* GeomDefs_hh */
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ChebyshevApproximation.hh,v 1.2 1999/11/16 17:30:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4ChebyshevApproximation.hh,v 1.3 2000/11/20 17:26:41 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -149,7 +149,10 @@ public:
void IntegralChebyshevCof(G4double integralCof[]) const ;
protected:
private:
G4ChebyshevApproximation(const G4ChebyshevApproximation&);
G4ChebyshevApproximation& operator=(const G4ChebyshevApproximation&);
private:
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4DataInterpolation.hh,v 1.2 1999/11/16 17:30:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4DataInterpolation.hh,v 1.3 2000/11/20 17:26:41 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -131,7 +131,10 @@ public:
void CorrelatedSearch( G4double pX,
G4int& index ) const ;
protected:
private:
G4DataInterpolation(const G4DataInterpolation&);
G4DataInterpolation& operator=(const G4DataInterpolation&);
private:
G4double* fArgument ;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussChebyshevQ.hh,v 1.2 1999/11/16 17:30:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussChebyshevQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -35,7 +35,7 @@
// ------------------------------- HISTORY --------------------------------
//
// 13.05.97 V.Grichine (Vladimir.Grichine@cern.chz0
// 13.05.97 V.Grichine (Vladimir.Grichine@cern.ch)
#ifndef G4GAUSSCHEBYSHEVQ_HH
#define G4GAUSSCHEBYSHEVQ_HH
@@ -57,11 +57,11 @@ public:
G4double Integral(G4double a, G4double b) const ;
protected:
private:
} ;
G4GaussChebyshevQ(const G4GaussChebyshevQ&);
G4GaussChebyshevQ& operator=(const G4GaussChebyshevQ&);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussHermiteQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussHermiteQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -51,11 +51,11 @@ public:
G4double Integral() const ;
protected:
private:
} ;
G4GaussHermiteQ(const G4GaussHermiteQ&);
G4GaussHermiteQ& operator=(const G4GaussHermiteQ&);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussJacobiQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussJacobiQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -55,12 +55,10 @@ public:
G4double Integral() const ;
protected:
private:
} ;
G4GaussJacobiQ(const G4GaussJacobiQ&);
G4GaussJacobiQ& operator=(const G4GaussJacobiQ&);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussLaguerreQ.hh,v 1.2 1999/11/16 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussLaguerreQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -58,12 +58,10 @@ public:
G4double Integral() const ;
protected:
private:
} ;
G4GaussLaguerreQ(const G4GaussLaguerreQ&);
G4GaussLaguerreQ& operator=(const G4GaussLaguerreQ&);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussLegendreQ.hh,v 1.2 1999/11/16 17:30:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussLegendreQ.hh,v 1.3 2000/11/20 17:26:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -86,11 +86,10 @@ public:
G4double AccurateIntegral(G4double a, G4double b) const ;
protected:
private:
} ;
G4GaussLegendreQ(const G4GaussLegendreQ&);
G4GaussLegendreQ& operator=(const G4GaussLegendreQ&);
};
#endif
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Integrator.hh,v 1.4 2000/06/15 17:31:23 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Integrator.icc,v 1.6 2000/06/15 17:31:23 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Implementation of G4Integrator methods.
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4SimpleIntegration.hh,v 1.2 1999/11/16 17:30:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VGaussianQuadrature.hh,v 1.2 1999/11/16 17:30:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4VGaussianQuadrature.hh,v 1.3 2000/11/20 17:26:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Class description:
//
@@ -84,6 +84,9 @@ protected:
G4int fNumber ;
private:
} ;
G4VGaussianQuadrature(const G4VGaussianQuadrature&);
G4VGaussianQuadrature& operator=(const G4VGaussianQuadrature&);
};
#endif
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4ChebyshevApproximation.cc,v 1.2 1999/11/16 17:31:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4ChebyshevApproximation.hh"
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4DataInterpolation.cc,v 1.3 1999/11/16 17:31:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4DataInterpolation.hh"
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4GaussChebyshevQ.cc,v 1.2 1999/11/16 17:31:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4GaussChebyshevQ.hh"
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussHermiteQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussHermiteQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4GaussHermiteQ.hh"
@@ -23,7 +23,8 @@ G4GaussHermiteQ::G4GaussHermiteQ( function pFunction,
const G4int maxNumber = 12 ;
G4int i, j, k ;
G4double newton, newton1, temp1, temp2, temp3, temp ;
G4double newton=0.;
G4double newton1, temp1, temp2, temp3, temp ;
G4double piInMinusQ = pow(pi,-0.25) ; // 1.0/sqrt(sqrt(pi)) ??
fNumber = (nHermite +1)/2 ;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussJacobiQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussJacobiQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4GaussJacobiQ.hh"
@@ -26,8 +26,9 @@ G4GaussJacobiQ::G4GaussJacobiQ( function pFunction,
const G4double tolerance = 1.0e-12 ;
const G4double maxNumber = 12 ;
G4int i, k, j ;
G4double root=0.;
G4double alphaBeta, alphaReduced, betaReduced, root1, root2, root3 ;
G4double a, b, c, newton1, newton2, newton3, newton, temp, root, rootTemp ;
G4double a, b, c, newton1, newton2, newton3, newton, temp, rootTemp ;
fNumber = nJacobi ;
fAbscissa = new G4double[fNumber] ;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GaussLaguerreQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4GaussLaguerreQ.cc,v 1.3 2000/11/20 17:26:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4GaussLaguerreQ.hh"
@@ -28,7 +28,8 @@ G4GaussLaguerreQ::G4GaussLaguerreQ( function pFunction,
const G4double tolerance = 1.0e-10 ;
const G4int maxNumber = 12 ;
G4int i, j, k ;
G4double newton, newton1, temp1, temp2, temp3, temp, cofi ;
G4double newton=0.;
G4double newton1, temp1, temp2, temp3, temp, cofi ;
fNumber = nLaguerre ;
fAbscissa = new G4double[fNumber] ;
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4GaussLegendreQ.cc,v 1.2 1999/11/16 17:31:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
#include "G4GaussLegendreQ.hh"
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4SimpleIntegration.cc,v 1.2 1999/11/16 17:31:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Implementation file for simple integration methods
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4VGaussianQuadrature.cc,v 1.2 1999/11/16 17:31:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Implementation file for G4VGaussianQuadrature virtual base class
//
+13
View File
@@ -0,0 +1,13 @@
# $Id: GNUmakefile,v 1.1 2000/12/12 14:47:56 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for global HEPRandom. Gunter Folger 12-Dec-2000.
# note: this needed only to created "installed" include files.
# --------------------------------------------------------------
ifndef G4INSTALL
G4INSTALL = ../../..
endif
include $(G4INSTALL)/config/architecture.gmk
include $(G4INSTALL)/config/common.gmk
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Poisson.hh,v 1.5 2000/01/06 14:13:08 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
+12 -2
View File
@@ -5,14 +5,24 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Randomize.hh,v 1.2 1999/11/16 17:31:35 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Randomize.hh,v 1.4 2000/08/02 15:21:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef randomize_h
#define randomize_h 1
#include <CLHEP/Random/Randomize.h>
// Additional distributions ...
//
#include <CLHEP/Random/RandGaussQ.h>
#include <CLHEP/Random/RandGaussT.h>
#include <CLHEP/Random/RandPoissonQ.h>
#include <CLHEP/Random/RandPoissonT.h>
#include <CLHEP/Random/RandLandau.h>
#include <CLHEP/Random/RandBit.h>
#define G4RandGauss RandGaussQ
#define G4UniformRand() HepRandom::getTheEngine()->flat()
#endif // randomize_h
+43 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.50 2000/06/26 16:28:55 gcosmo Exp $
$Id: History,v 1.59 2000/12/13 08:22:26 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,48 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
December 13, 2000 G.Folger (global-V02-00-06)
- Added GNUmakefile to HEPRandom to handle "includes" gmake target.
November 20, 2000 G.Cosmo (global-V02-00-05)
- QA code cleanup and fixes to remove warnings from
"-Wall -ansi -pedantic" g++ compiler options:
o added/fixed declaration/implementation of private copy constructor
and assignment operator where needed.
o commented out variables declared and not used.
o fixed declaration of variables used before being initialised.
o fixed order of initialisation of member data in constructors.
o fixed usage of unsigned-int (size_t) for array indeces.
o G4strstreambuf: created .icc file and moved implementation of
inlined functions therein.
November 3, 2000 G.Folger (global-V02-00-04)
- Added rules for "includes" target to GNUmakefile and management/GNUmakefile.
Added GNUmakefile in STLInterface for the "include" target.
November 1, 2000 G.Cosmo (global-V02-00-03)
- Moved geometry constants kHistoryMax, kHistoryStride and
kNavigatorVoxelStackMax to geomdefs.hh.
August 22, 2000 H.P.Wellisch
- Added <list> wrapper in management/g4std.
August 02, 2000 G.Cosmo (global-V02-00-02)
- Added <queue> wrapper in management/g4std.
- Added inclusion of new CLHEP random distributions in
HEPRandom/include/Randomize.hh pending update of Randomize.h in CLHEP.
July 22, 2000 M.Asai (global-V02-00-01)
- Move G4VStateDependent and G4StateManager classes into global/management
from intercoms.
- "Abort" state is added to G4ApplicationState.
- Modify G4Exception to change Geant4 status to "Abort".
- Fix a bug of "double deleting" in the destructor of G4StateManager.
July 21, 2000 G.Cosmo (global-V02-00-00)
- STLInterface/cstring.icc: extended buffer for G4String::readLine from
256 to 1024 characters.
June 26, 2000 G.Cosmo (global-V01-01-05)
- Fixes for problem report #104, STLInterface:
o defs.h: defined G4RWTHROW(a) to abort() in case G4NO_STD_EXCEPTIONS
+22
View File
@@ -0,0 +1,22 @@
# $Id: GNUmakefile,v 1.1 2000/11/03 16:39:29 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for STLInterface. Gunter Folger 3-Nov-2000.
# --------------------------------------------------------------
ifndef G4INSTALL
G4INSTALL = ../../..
endif
include $(G4INSTALL)/config/architecture.gmk
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4INCLUDE)/g4rw ] && mkdir -p $(G4INCLUDE)/g4rw )
installed_includes:=$(foreach file,$(wildcard g4rw/*),$(shell test -f $(file) && echo $(file)))
installed_includes:=$(foreach file,$(installed_includes),$(G4INCLUDE)/$(file))
includes: $(installed_includes)
$(installed_includes): $(G4INCLUDE)/% : %
@cp -p $< $@
+9 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.22 2000/06/26 16:25:56 gcosmo Exp $
$Id: History,v 1.24 2000/11/20 17:26:44 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -21,6 +21,14 @@ committal in the CVS repository !
STL Interface
-------------
November 20, 2000 G.Cosmo
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
o fixed usage of unsigned-int (size_t) for indeces.
July 21, 2000 G.Cosmo
- STLInterface/cstring.icc: extended buffer for G4String::readLine from
256 to 1024 characters.
June 26, 00 G.Cosmo (STLInterface-V01-01-01)
- Fixes for problem report #104:
o defs.h: defined G4RWTHROW(a) to abort() in case G4NO_STD_EXCEPTIONS
+11 -11
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: cstring.h,v 1.8 2000/06/26 16:25:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: cstring.h,v 1.9 2000/11/20 17:26:44 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -53,7 +53,7 @@ public:
inline char& operator[](size_t);
inline char operator[](size_t) const;
inline int operator!() const;
inline G4int operator!() const;
inline G4bool operator==(G4String) const;
inline G4bool operator==(const char*) const;
@@ -118,8 +118,8 @@ public:
inline operator const char*() const;
inline G4SubString operator()(size_t, size_t);
inline int compareTo(const char*, caseCompare mode=exact);
inline int compareTo(const G4String&, caseCompare mode=exact);
inline G4int compareTo(const char*, caseCompare mode=exact);
inline G4int compareTo(const G4String&, caseCompare mode=exact);
inline G4String& prepend (const char*);
inline G4String& append (const G4String&);
@@ -133,8 +133,8 @@ public:
inline G4String& remove(size_t);
inline G4String& remove(size_t, size_t);
inline int first(char) const;
inline int last(char) const;
inline G4int first(char) const;
inline G4int last(char) const;
inline G4bool contains(std_string) const;
inline G4bool contains(char) const;
@@ -143,20 +143,20 @@ public:
// stripType = 1 end
// stripType = 2 both
//
inline G4String strip (int stripType=trailing, char c=' ');
inline G4String strip (G4int stripType=trailing, char c=' ');
inline void toLower ( void );
inline void toUpper ( void );
inline G4bool isNull() const;
inline size_t index (const char*, int pos=0) const;
inline size_t index (char, int pos=0) const;
inline size_t index (const char*, G4int pos=0) const;
inline size_t index (char, G4int pos=0) const;
inline size_t index (const G4String&, size_t, size_t, caseCompare) const;
inline const char* data() const;
inline int strcasecompare(const char*, const char*) const;
inline G4int strcasecompare(const char*, const char*) const;
inline unsigned int hash( caseCompare cmp = exact ) const;
inline unsigned int stlhash() const;
+31 -29
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: cstring.icc,v 1.5 2000/06/26 16:25:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: cstring.icc,v 1.9 2000/11/20 20:03:16 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -71,7 +71,7 @@ char G4SubString::operator[](size_t i) const
return mystring->operator[](mystart+i);
}
int G4SubString::operator!() const
G4int G4SubString::operator!() const
{
return extent==0 ? 1 : 0;
}
@@ -228,7 +228,7 @@ G4String::operator const char*() const
return c_str();
}
int G4String::strcasecompare(const char* s1, const char* s2) const
G4int G4String::strcasecompare(const char* s1, const char* s2) const
{
#ifndef G4USE_STD_NAMESPACE
return strcasecmp(s1,s2);
@@ -241,14 +241,14 @@ int G4String::strcasecompare(const char* s1, const char* s2) const
for (size_t j=0; j<=strlen(s2); j++)
buf2[j] = tolower(s2[j]);
int res = strcmp(buf1, buf2);
G4int res = strcmp(buf1, buf2);
delete [] buf1;
delete [] buf2;
return res;
#endif
}
int G4String::compareTo(const char* s, caseCompare mode)
G4int G4String::compareTo(const char* s, caseCompare mode)
{
if(mode==exact)
return strcmp(c_str(),s);
@@ -256,7 +256,7 @@ int G4String::compareTo(const char* s, caseCompare mode)
return strcasecompare(c_str(),s);
}
int G4String::compareTo(const G4String& s, caseCompare mode)
G4int G4String::compareTo(const G4String& s, caseCompare mode)
{
if(mode==exact)
return strcmp(c_str(),s.c_str());
@@ -279,14 +279,14 @@ G4String& G4String::append(const G4String& s)
G4std::istream&
G4String::readLine (G4std::istream& s, G4bool skipWhite)
{
char tmp[256];
char tmp[1024];
if ( skipWhite ) {
s >> G4std::ws;
s.getline(tmp,256);
s.getline(tmp,1024);
*this=tmp;
}
else {
s.getline(tmp,256);
s.getline(tmp,1024);
*this=tmp;
}
return s;
@@ -318,20 +318,20 @@ G4String& G4String::remove(size_t pos, size_t N)
return *this;
}
int G4String::first(char c) const
G4int G4String::first(char c) const
{
return find(c);
}
int G4String::last(char c) const
G4int G4String::last(char c) const
{
return rfind(c);
}
G4bool G4String::contains(std_string s) const
{
int i=find(s);
if(i != std_string::npos)
G4int i=std_string::find(s);
if(i != G4int(std_string::npos))
return true;
else
return false;
@@ -339,18 +339,18 @@ G4bool G4String::contains(std_string s) const
G4bool G4String::contains(char c) const
{
int i=find(c);
if(i != std_string::npos)
G4int i=std_string::find(c);
if(i != G4int(std_string::npos))
return true;
else
return false;
}
G4String G4String::strip (int stripType, char c)
G4String G4String::strip (G4int stripType, char c)
{
G4String retVal = *this;
if(length()==0) return retVal;
int i;
size_t i;
switch ( stripType ) {
case leading:
{
@@ -360,10 +360,11 @@ G4String G4String::strip (int stripType, char c)
}
break;
case trailing:
{
for(i=length()-1;i>=0;i--)
if (std_string::operator[](i) != c) break;
retVal = substr(0,i+1);
{
G4int j;
for(j=length()-1;j>=0;j--)
if (std_string::operator[](j) != c) break;
retVal = substr(0,j+1);
}
break;
case both:
@@ -371,9 +372,10 @@ G4String G4String::strip (int stripType, char c)
for(i=0;i<length();i++)
if (std_string::operator[](i) != c) break;
G4String tmp(substr(i,length()-i));
for(i=tmp.length()-1;i>=0;i--)
if (tmp.std_string::operator[](i) != c) break;
retVal = tmp.substr(0,i+1);
G4int k;
for(k=tmp.length()-1;k>=0;k--)
if (tmp.std_string::operator[](k) != c) break;
retVal = tmp.substr(0,k+1);
}
}
return retVal;
@@ -381,7 +383,7 @@ G4String G4String::strip (int stripType, char c)
void G4String::toLower ( void )
{
for (int i=0; i<size();i++)
for (size_t i=0; i<size();i++)
{
//GB:HP-UX-aCC,Linux-KCC
std_string::operator[](i) = tolower(std_string::operator[](i));
@@ -391,7 +393,7 @@ void G4String::toLower ( void )
void G4String::toUpper ( void )
{
for (int i=0; i<size();i++)
for (size_t i=0; i<size();i++)
{
//GB:HP-UX-aCC,Linux-KCC
std_string::operator[](i) = toupper(std_string::operator[](i));
@@ -412,12 +414,12 @@ size_t G4String::index( const G4String& s, size_t ln,
return std_string::find( s.c_str(), st, ln );
}
size_t G4String::index (const char* str, int pos) const
size_t G4String::index (const char* str, G4int pos) const
{
return std_string::find(str,pos);
}
size_t G4String::index (char c, int pos) const
size_t G4String::index (char c, G4int pos) const
{
return std_string::find(c,pos);
}
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: ctoken.h,v 1.5 1999/11/29 10:17:41 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: defs.h,v 1.8 2000/06/26 16:25:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: rstream.h,v 1.4 1999/11/25 10:14:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: rw2stl_algo.h,v 1.4 1999/11/25 10:14:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: tpordvec.h,v 1.7 1999/11/26 17:17:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+9 -11
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: tpordvec.icc,v 1.4 2000/03/22 08:05:40 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: tpordvec.icc,v 1.5 2000/11/20 17:26:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -85,9 +85,8 @@ void G4RWTPtrOrderedVector<T>::clear()
template<class T >
void G4RWTPtrOrderedVector<T>::clearAndDestroy()
{
int sz;
G4std::set<T*,G4std::greater<T*> > tmp;
for (sz=0;sz<rwsize;sz++)
for (size_t sz=0;sz<rwsize;sz++)
{
T* current;
current=std_pvector::operator[](sz);
@@ -201,8 +200,7 @@ T* G4RWTPtrOrderedVector<T>::removeAt( size_t i )
if(i>=rwsize)
G4RWTHROW(G4RWBoundsErr("G4RWTPtrOrderedVector removeAt",rwsize,i));
iterator it=std_pvector::begin();
int j;
for(j=0;j<rwsize && j<i;j++) it++;
for(size_t j=0;j<rwsize && j<i;j++) it++;
if(it!=std_pvector::end())
{
T* tmp = std_pvector::operator[](i);
@@ -234,14 +232,14 @@ void G4RWTPtrOrderedVector<T>::resize(size_t N)
{
if(N>std_pvector::size())
{
int e=N-std_pvector::size();
for(int i=0;i<e;i++)
size_t e=N-std_pvector::size();
for(size_t i=0;i<e;i++)
std_pvector::push_back(0);
}
else if(N>rwsize)
{
iterator it=std_pvector::begin();
for(int i=0;i<N;i++,it++);
for(size_t i=0;i<N;i++,it++);
std_pvector::erase(it,std_pvector::end());
}
}
@@ -256,7 +254,7 @@ void G4RWTPtrOrderedVector<T>::insertAt ( size_t i, T* a )
G4RWTHROW(G4RWBoundsErr("G4RWTPtrOrderedVector insertAt",rwsize,i));
if(rwsize<std_pvector::size())
{
for(int j=rwsize;j>i;j--)
for(size_t j=rwsize;j>i;j--)
std_pvector::operator[](j)=std_pvector::operator[](j-1);
std_pvector::operator[](i)=a;
rwsize++;
@@ -264,7 +262,7 @@ void G4RWTPtrOrderedVector<T>::insertAt ( size_t i, T* a )
else
{
iterator it=std_pvector::begin();
for(int j=0;j<i;j++,it++);
for(size_t j=0;j<i;j++,it++);
std_pvector::insert(it,a);
rwsize++;
}
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: tpsrtvec.h,v 1.8 1999/11/26 17:17:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+6 -6
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: tpsrtvec.icc,v 1.6 2000/06/26 16:25:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: tpsrtvec.icc,v 1.7 2000/11/20 17:26:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -92,8 +92,8 @@ T* G4RWTPtrSortedVector<T>::find (const T* a) const
{
if(!a || std_pvector::empty() || (rwsize==0)) return 0;
//We are sorted, so try a n log n search
int t,d;
int u=rwsize,l=0;
size_t t,d;
size_t u=rwsize,l=0;
do
{
d=(u-l)/2;
@@ -125,7 +125,7 @@ void G4RWTPtrSortedVector<T>::insert ( T* a )
{
//We have empty entries
iterator it=std_pvector::begin();
for(int i=0;i<rwsize;i++,it++);
for(size_t i=0;i<rwsize;i++,it++);
*it=a;
it++;
G4std::sort(std_pvector::begin(),it,sorter);
@@ -210,7 +210,7 @@ size_t G4RWTPtrSortedVector<T>::removeAll ( const T* a)
iterator e=std_pvector::end();
iterator r;
size_t sz=0;
int i=0;
G4int i=0;
for(r=std_pvector::begin();sz<rwsize;r++,sz++)
{
if(i==0)
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: tpvector.h,v 1.9 2000/02/11 14:09:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+4 -4
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: tpvector.icc,v 1.7 2000/03/10 15:53:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: tpvector.icc,v 1.8 2000/11/20 17:26:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -103,8 +103,8 @@ void G4RWTPtrVector<T>::resize ( size_t n )
{
if(n>std_pvector::size())
{
int e=n-std_pvector::size();
for(int i=0;i<e;i++)
size_t e=n-std_pvector::size();
for(size_t i=0;i<e;i++)
std_pvector::push_back(0);
}
else
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: tvordvec.h,v 1.8 2000/03/10 15:53:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+8 -9
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: tvordvec.icc,v 1.5 2000/06/26 16:25:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: tvordvec.icc,v 1.6 2000/11/20 17:26:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -204,8 +204,7 @@ T G4RWTValOrderedVector<T>::removeAt( size_t i )
G4RWTHROW(G4RWBoundsErr("G4RWTValOrderedVector removeAt",rwsize,i));
T tmp = std_vector::operator[](i);
iterator it=std_vector::begin();
int j;
for(j=0;j<rwsize && j<i;j++) it++;
for(size_t j=0;j<rwsize && j<i;j++) it++;
if(it!=std_vector::end())
{
std_vector::erase(it);
@@ -219,14 +218,14 @@ void G4RWTValOrderedVector<T>::resize(size_t N)
{
if(N>std_vector::size())
{
int e=N-std_vector::size();
for(int i=0;i<e;i++)
size_t e=N-std_vector::size();
for(size_t i=0;i<e;i++)
std_vector::push_back(T());
}
else if(N>rwsize )
{
iterator it=std_vector::begin();
for(int i=0;i<N;i++,it++);
for(size_t i=0;i<N;i++,it++);
std_vector::erase(it,std_vector::end());
}
}
@@ -269,7 +268,7 @@ void G4RWTValOrderedVector<T>::insertAt ( size_t i, const T& a )
G4RWTHROW(G4RWBoundsErr("G4RWTValOrderedVector insertAt",rwsize,i));
if(rwsize<std_vector::size())
{
for(int j=rwsize;j>i;j--)
for(size_t j=rwsize;j>i;j--)
std_vector::operator[](j)=this->std_vector::operator[](j-1);
std_vector::operator[](i)=a;
rwsize++;
@@ -277,7 +276,7 @@ void G4RWTValOrderedVector<T>::insertAt ( size_t i, const T& a )
else
{
iterator it=std_vector::begin();
for(int j=0;j<i;j++,it++);
for(size_t j=0;j<i;j++,it++);
std_vector::insert(it,a);
rwsize++;
}
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: tvvector.h,v 1.8 2000/03/10 15:53:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
+5 -5
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: tvvector.icc,v 1.3 2000/03/10 15:53:24 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: tvvector.icc,v 1.4 2000/11/20 17:26:45 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -99,14 +99,14 @@ void G4RWTValVector<T>::resize(size_t N)
{
if(N>std_vector::size())
{
int e=N-std_vector::size();
for(int i=0;i<e;i++)
size_t e=N-std_vector::size();
for(size_t i=0;i<e;i++)
std_vector::push_back(T());
}
else
{
iterator it=std_vector::begin();
for(int i=1;i<=N;i++,it++);
for(size_t i=1;i<=N;i++,it++);
std_vector::erase(it,std_vector::end());
}
rwsize=N;
+13 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1999/01/07 16:08:59 gunter Exp $
# $Id: GNUmakefile,v 1.2 2000/11/03 16:40:30 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for global management. Gabriele Cosmo, 26/9/96.
# --------------------------------------------------------------
@@ -12,3 +12,15 @@ endif
include $(G4INSTALL)/config/architecture.gmk
include $(G4INSTALL)/config/common.gmk
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4INCLUDE)/g4std ] && mkdir -p $(G4INCLUDE)/g4std )
installed_includes:=$(foreach file,$(wildcard include/g4std/*),$(shell test -f $(file) && echo $(file)))
installed_includes:=$(patsubst include/%,$(G4INCLUDE)/%,$(installed_includes))
includes:: $(installed_includes)
$(installed_includes): $(G4INCLUDE)/% : include/%
@cp -p $< $@
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Allocator.hh,v 1.3 1999/11/23 15:00:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4Allocator.hh,v 1.5 2000/11/20 20:16:50 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -117,7 +117,7 @@ template <class Type>
void G4Allocator<Type>::AddNewPage()
{
G4AllocatorPage<Type> *aPage;
register int unit_no;
register G4int unit_no;
aPage = new G4AllocatorPage<Type>;
aPage->fNext = fPages;
@@ -126,8 +126,7 @@ void G4Allocator<Type>::AddNewPage()
fPages = aPage;
for (unit_no = 0;
unit_no < (G4AllocatorPageSize /
sizeof(G4AllocatorUnit<Type>)-1);
unit_no < (G4AllocatorPageSize / G4int(sizeof(G4AllocatorUnit<Type>))-1);
++unit_no)
{
aPage->fUnits[unit_no].fNext = &aPage->fUnits[unit_no + 1];
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4AllocatorPage.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4AllocatorUnit.hh,v 1.2 1999/11/16 17:40:22 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -0,0 +1,70 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ApplicationState.hh,v 1.1 2000/07/22 10:45:34 asaim Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
#ifndef G4APPLICATIONSTATE_H
#define G4APPLICATIONSTATE_H 1
// Class Description:
//
// Specifies the state of the G4 application
//
// States:
// PreInit
// At the very begining of the Application. G4StateManager starts
// with this state. G4Initializer changes this state to Init when
// G4Initializer::Initialize() method starts. At the moment of
// the state change of PreInit->Init, no material, geometrical,
// particle or physics process has been initialized.
// Init
// During the G4Initializer::Initialize() method. G4Initializer
// changes this state to Idle when all initialization procedures
// are successfully Done.
// Idle
// Ready to start "BeamOn". G4RunManager changes this state to
// GeomClosed when G4RunManager::BeamOn() method starts and
// G4GeometryManager::CloseGeometry() is Done. At the end of
// BeamOn() method, G4RunManager will reset the application state
// to Idle after G4GeometryManager::OpenGeometry() is Done.
// GeomClosed
// G4 is in this state between G4GeometryManager::CloseGeometry()
// and G4GeometryManager::OpenGeometry(), but no event is in
// progress. At the begining of each event (construction of a
// G4Event object and primary particle generation), G4RunManager
// changes this state to EventProc and resets to GeomClosed state
// when G4EventManager::ProcessOneEvent() is over.
// EventProc
// Processing an event.
// Quit
// G4 is in this state when the destructor of G4RunManager is invoked.
// Abort
// G4 is in this state when G4Exception is invoked.
//
//
// PreInit
// |
// v
// Init
// |
// v
// Idle ------> Quit
// |^
// v|
// GeomClosed (at each run)
// |^
// v|
// EventProc (at each event)
//
enum G4ApplicationState
{PreInit, Init, Idle, GeomClosed, EventProc, Quit, Abort};
#endif
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4DataVector.hh,v 1.4 1999/11/23 15:00:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4FastVector.hh,v 1.3 1999/11/23 15:00:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4LPhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:38 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4LPhysicsFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4OrderedTable.hh,v 1.4 1999/11/16 17:40:39 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PhysicsFreeVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4PhysicsFreeVector.hh,v 1.3 2000/11/20 17:26:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//--------------------------------------------------------------------
@@ -81,7 +81,7 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const
// the binary search algorithm.
//
// Because this is a virtual function, it is accessed through a
// pointer to the G4PhyiscsVector object for most usages. In this
// pointer to the G4PhysicsVector object for most usages. In this
// case, 'inline' will not be invoked. However, there is a possibility
// that the user access to the G4PhysicsFreeVector object directly and
// not through pointers or references. In this case, the 'inline' will
@@ -90,13 +90,13 @@ inline size_t G4PhysicsFreeVector::FindBinLocation(G4double theEnergy) const
size_t lowerBound = 0;
size_t upperBound = numberOfBin-1;
do {
while (lowerBound <= upperBound) {
size_t midBin = (lowerBound + upperBound)/2;
if( theEnergy < binVector(midBin) )
upperBound = midBin-1;
else
lowerBound = midBin+1;
} while (lowerBound <= upperBound);
}
return upperBound;
}
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsLinearVector.hh,v 1.2 1999/11/16 17:40:40 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//--------------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsLnVector.hh,v 1.3 2000/03/23 09:20:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//--------------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsLogVector.hh,v 1.2 1999/11/16 17:40:41 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//--------------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsOrderedFreeVector.hh,v 1.3 1999/11/16 17:40:41 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
////////////////////////////////////////////////////////////////////////
// PhysicsOrderedFreeVector Class Definition
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PhysicsOrderedFreeVector.icc,v 1.2 1999/11/23 15:00:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4PhysicsOrderedFreeVector.icc,v 1.3 2000/11/20 17:26:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
////////////////////////////////////////////////////////////////////////
// PhysicsOrderedFreeVector Class Inline Functions Definitions
@@ -50,7 +50,7 @@ G4double G4PhysicsOrderedFreeVector::GetMinLowEdgeEnergy()
inline
void G4PhysicsOrderedFreeVector::DumpValues()
{
for (G4int i = 0; i < numberOfBin; i++) {
for (size_t i = 0; i < numberOfBin; i++) {
G4cout << binVector[i] << "\t" << dataVector[i] << G4endl;
}
}
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsTable.hh,v 1.3 1999/11/16 17:40:42 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PhysicsVector.hh,v 1.3 1999/11/16 17:40:43 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4PhysicsVector.hh,v 1.4 2000/11/20 17:26:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -121,6 +121,12 @@ class G4PhysicsVector
virtual size_t FindBinLocation(G4double theEnergy) const=0;
// Find the bin# in which theEnergy belongs - pure virtual function
private:
G4PhysicsVector(const G4PhysicsVector&);
G4PhysicsVector& operator=(const G4PhysicsVector&);
// Private copy constructor and assignment operator.
private:
G4String comment;
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4PhysicsVector.icc,v 1.1 1999/11/16 17:40:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4RotationMatrix.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ----------------------------------------------------------------------
@@ -0,0 +1,112 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StateManager.hh,v 1.2 2000/11/20 17:26:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// Geant4 Collaboration
//
// ---------------- G4StateManager ----------------
//
// Authors: G.Cosmo, M.Asai - November 1996
//
// -------------------------------------------------------------
//
// Class Description:
//
// Class responsible for handling and updating the running state
// of the Geant4 application during its different phases.
// The class is a singleton, it can be accessed via the public
// method G4StateManager::GetStateManager().
//
// States of Geant4 are defined in G4ApplicationState.
// -------------------------------------------------------------
#ifndef G4StateManager_h
#define G4StateManager_h 1
#include "g4rw/tpordvec.h"
#include "globals.hh"
#include "G4ApplicationState.hh"
#include "G4VStateDependent.hh"
class G4StateManager
{
public: // with description
static G4StateManager* GetStateManager();
// The G4StateManager class is a singleton class and the pointer
// to the only one existing object can be obtained by this static
// method.
protected:
G4StateManager();
public:
~G4StateManager();
public: // with description
G4ApplicationState GetCurrentState();
// Returns the current state
G4ApplicationState GetPreviousState();
// Returns the previous state
G4bool SetNewState(G4ApplicationState requestedState);
// Set Geant4 to a new state.
// In case the request is irregal, false will be returned
// and the state of Geant4 will not be changed.
G4bool RegisterDependent(G4VStateDependent* aDependent,G4bool bottom=false);
// Register a concrete class of G4VStateDependent.
// Registered concrete classes will be notified via
// G4VStateDependent::Notify() method when the state of Geant4 changes.
// False will be returned if registration fails.
G4bool DeregisterDependent(G4VStateDependent* aDependent);
// Remove the registration.
// False will be returned if aDependent has not been registered.
G4VStateDependent* RemoveDependent(const G4VStateDependent* aDependent);
// Remove the registration.
// Removed pointer is returned.
G4String GetStateString(G4ApplicationState aState);
// Utility method which returns a string of the state name.
public:
//void Pause();
//void Pause(const char* msg);
//void Pause(G4String msg);
//// G4UIsession::pauseSession() will be invoked. The argument string "msg"
//// will be used as a prompt characters if the session is non-graphical.
//// This method can be invoked by any user action class during the event
//// loop. After the user's interactions, control goes back to the caller.
private:
G4StateManager(const G4StateManager &right);
G4StateManager& operator=(const G4StateManager &right);
G4int operator==(const G4StateManager &right) const;
G4int operator!=(const G4StateManager &right) const;
private:
static G4StateManager* theStateManager;
G4ApplicationState theCurrentState;
G4ApplicationState thePreviousState;
G4RWTPtrOrderedVector<G4VStateDependent> theDependentsList;
G4VStateDependent* theBottomDependent;
};
#endif
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4ThreeVector.hh,v 1.2 1999/11/16 17:40:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Timer.hh,v 1.10 2000/01/06 14:27:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ----------------------------------------------------------------------
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4Types.hh,v 1.4 1999/12/15 18:05:19 gracia Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// GEANT4 native types
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4UnitsTable.hh,v 1.9 2000/01/19 11:16:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// -----------------------------------------------------------------
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4UnitsTest.hh,v 1.4 1999/11/19 09:19:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------------------------------------------------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4UserLimits.hh,v 1.6 2000/02/17 16:13:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// class G4UserLimits
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4UserLimits.icc,v 1.5 2000/02/17 16:13:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//
@@ -0,0 +1,65 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VStateDependent.hh,v 1.2 2000/11/20 17:26:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// Geant4 Collaboration
//
// ---------------- G4VStateDependent ----------------
//
// Authors: G.Cosmo, M.Asai - November 1996
//
// ------------------------------------------------------------
//
// Class description:
//
// Abstract base class of all classes which need to be notified when
// the state of Geant4 changes. The concrete class object derived from
// this base class will be automatically registered to G4StateManager
// and the virtual method Notify() will be invoked when the state changes.
// ------------------------------------------------------------
#ifndef G4VStateDependent_h
#define G4VStateDependent_h 1
#include "globals.hh"
#include "G4ApplicationState.hh"
class G4VStateDependent
{
public:
G4VStateDependent(G4bool bottom=false);
virtual ~G4VStateDependent();
G4int operator==(const G4VStateDependent &right) const;
G4int operator!=(const G4VStateDependent &right) const;
public: // with description
virtual G4bool Notify(G4ApplicationState requestedState) = 0;
// Pure virtual method which will be invoked by G4StateManager.
// In case state change must not be allowed by some reason of the
// concrete class, false should be returned. But this scheme is
// NOT recommended to use. All command which are state sensitive
// MUST assign available state(s).
private:
G4VStateDependent(const G4VStateDependent &right);
G4VStateDependent& operator=(const G4VStateDependent &right);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4coutDestination.hh,v 1.2 1999/11/16 17:40:51 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4coutDestination.hh,v 1.3 2000/11/20 17:26:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ---------------------------------------------------------------
@@ -22,10 +22,13 @@
class G4coutDestination
{
public:
virtual int ReceiveG4cout(G4String){return 0;}
virtual int ReceiveG4cerr(G4String){return 0;}
public:
G4coutDestination(){}
virtual ~G4coutDestination(){}
virtual G4int ReceiveG4cout(G4String){return 0;}
virtual G4int ReceiveG4cerr(G4String){return 0;}
};
#endif
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4ios.hh,v 1.5 1999/12/15 18:05:18 gracia Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ---------------------------------------------------------------
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4strstreambuf.hh,v 1.6 1999/12/16 08:15:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4strstreambuf.hh,v 1.7 2000/11/20 17:26:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ---------------------------------------------------------------
@@ -26,70 +26,35 @@ class G4strstreambuf;
extern G4strstreambuf G4coutbuf;
extern G4strstreambuf G4cerrbuf;
class G4strstreambuf : public G4std::streambuf {
public:
G4strstreambuf() {
destination = NULL;
count = 0;
size = 4095;
buffer = new char[size+1];
}
~G4strstreambuf() {
delete buffer;
}
void SetDestination(G4coutDestination * value) {
destination = value;
}
int overflow(int c=EOF) {
int result = 0;
if(count>=size) {
buffer[count] = '\0';
count = 0;
result = ReceiveString ();
}
buffer[count] = c;
count++;
if(c=='\n') {
buffer[count] = '\0';
count = 0;
result = ReceiveString ();
}
return result;
}
int sync() {
buffer[count] = '\0';
count = 0;
return ReceiveString ();
class G4strstreambuf : public G4std::streambuf
{
public:
}
G4strstreambuf();
~G4strstreambuf();
inline void SetDestination(G4coutDestination * value);
inline G4int overflow(G4int c=EOF);
inline G4int sync();
#ifdef WIN32
int underflow() {
return 0;
}
inline G4int underflow();
#endif
int ReceiveString () {
G4String stringToSend = buffer;
int result;
if(this == & G4coutbuf && destination != NULL) {
result = destination->ReceiveG4cout(stringToSend);
} else if(this == & G4cerrbuf && destination != NULL) {
result = destination->ReceiveG4cerr(stringToSend);
} else if(this == & G4coutbuf && destination == NULL) {
G4std::cout << stringToSend << G4std::flush;
result =0;
} else if(this == & G4cerrbuf && destination == NULL) {
G4std::cerr << stringToSend << G4std::flush;
result =0;
}
return result;
};
private:
G4coutDestination * destination;
char* buffer;
int count,size;
inline G4int ReceiveString ();
private:
G4strstreambuf(const G4strstreambuf&);
G4strstreambuf& operator=(const G4strstreambuf&);
private:
G4coutDestination * destination;
char* buffer;
G4int count,size;
};
#include "G4strstreambuf.icc"
#endif
@@ -0,0 +1,112 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4strstreambuf.icc,v 1.1 2000/11/20 17:26:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// ---------------------------------------------------------------
//
// class G4strstreambuf
// inline implementation
//
// ---------------------------------------------------------------
inline
G4strstreambuf::G4strstreambuf()
{
destination = NULL;
count = 0;
size = 4095;
buffer = new char[size+1];
}
inline
G4strstreambuf::~G4strstreambuf()
{
delete buffer;
}
inline
G4strstreambuf::G4strstreambuf(const G4strstreambuf& right)
: destination(right.destination),
buffer(right.buffer), count(right.count), size(right.size)
{
}
inline
G4strstreambuf& G4strstreambuf::operator=(const G4strstreambuf& right)
{
if (&right==this) return *this;
destination = right.destination;
buffer = right.buffer;
count = right.count;
size = right.size;
return *this;
}
inline
void G4strstreambuf::SetDestination(G4coutDestination * value)
{
destination = value;
}
inline
G4int G4strstreambuf::overflow(G4int c)
{
G4int result = 0;
if(count>=size) {
buffer[count] = '\0';
count = 0;
result = ReceiveString ();
}
buffer[count] = c;
count++;
if(c=='\n') {
buffer[count] = '\0';
count = 0;
result = ReceiveString ();
}
return result;
}
inline
G4int G4strstreambuf::sync()
{
buffer[count] = '\0';
count = 0;
return ReceiveString ();
}
#ifdef WIN32
inline
G4int G4strstreambuf::underflow()
{
return 0;
}
#endif
inline
G4int G4strstreambuf::ReceiveString ()
{
G4String stringToSend = G4String(buffer);
G4int result =0;
if(this == & G4coutbuf && destination != NULL) {
result = destination->ReceiveG4cout(stringToSend);
} else if(this == & G4cerrbuf && destination != NULL) {
result = destination->ReceiveG4cerr(stringToSend);
} else if(this == & G4coutbuf && destination == NULL) {
G4std::cout << stringToSend << G4std::flush;
result =0;
} else if(this == & G4cerrbuf && destination == NULL) {
G4std::cerr << stringToSend << G4std::flush;
result =0;
}
return result;
}
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: PhysicalConstants.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------------------------------------------------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: SystemOfUnits.h,v 1.4 1999/11/19 09:19:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------------------------------------------------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: algorithm,v 1.3 1999/11/16 17:42:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- algorithm ----------------
//
@@ -7,7 +7,7 @@
//
//
// $Id: complex,v 1.3 2000/06/15 17:32:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- complex ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: fstream,v 1.3 1999/11/16 17:43:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- fstream ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: functional,v 1.3 1999/11/16 17:43:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- functional ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: iomanip,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- iomanip ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: iostream,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- iostream ----------------
//
@@ -0,0 +1,23 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: list,v 1.1 2000/08/22 07:54:26 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- list ----------------
//
#ifndef G4_LIST_H
#define G4_LIST_H
#ifdef G4USE_OLDSTL
#include <list.h>
#else
#include <list>
#endif
#endif
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: map,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- map ----------------
//
@@ -0,0 +1,23 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: queue,v 1.1 2000/08/02 09:49:56 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- queue ----------------
//
#ifndef G4_QUEUE_H
#define G4_QUEUE_H
#ifdef G4USE_OLDSTL
#include <queue.h>
#else
#include <queue>
#endif /* G4USE_OLDSTL */
#endif /* G4_QUEUE_H */
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: set,v 1.3 1999/11/16 17:43:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- set ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: streambuf,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- streambuf ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: strstream,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- strstream ----------------
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: vector,v 1.3 1999/11/16 17:43:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// ---------------- vector ----------------
//
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: globals.hh,v 1.15 2000/01/19 11:12:44 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// Global Constants and typedefs

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