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
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.3 2000/05/17 10:55:39 maire Exp $
# $Id: GNUmakefile,v 1.4 2000/12/07 12:14:06 maire Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -16,11 +16,4 @@ all: lib bin
include $(G4INSTALL)/config/architecture.gmk
ifdef G4NOHIST
CPPFLAGS += -DG4NOHIST
else
LDFLAGS += -L$(CERN)/pro/lib
LOADLIBS += -lpacklib $(FCLIBS)
endif
include $(G4INSTALL)/config/binmake.gmk
@@ -1,4 +1,4 @@
$Id: History,v 1.4 2000/06/24 08:01:20 stesting Exp $
$Id: History,v 1.7 2000/12/07 12:14:06 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,21 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
07-12-00 mma (testem2-V02-00-03 & testem-noHist)
remove hbook histograms: GNUmakefile,runAction
06-12-00 mma (testem2-V02-00-02 & testem-withHist)
update of init.mac for new vis commands.
G4UItcsh in the main()
25th November 2000 Steve O'Neale (tagset210)
- Update test outputs for min.delta energy cut and cut tabulation
- Update test outputs Lateral profile changes comparable with rms (10 per cent)
- in first layers, Radial profile stable (values to 1 percent).
June 28, 2000 John Allison (testem2-V02-00-00)
- Updated TestEm2.out for geant4-02-00.
June 24, 2000 John Allison (testem2-V01-01-02)
- Updated TestEm2.out for stand-V01-01-05 and utils-V01-01-03.
@@ -5,17 +5,16 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: TestEm2.cc,v 1.3 1999/12/15 14:48:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: TestEm2.cc,v 1.4 2000/12/06 14:12:15 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// Comments
//
//
// --------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#include "Randomize.hh"
#ifdef G4VIS_USE
@@ -31,6 +30,8 @@
#include "Em2SteppingAction.hh"
#include "Em2SteppingVerbose.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
int main(int argc,char** argv) {
//choose the Random engine
@@ -71,7 +72,12 @@ int main(int argc,char** argv) {
if (argc==1) // Define UI terminal for interactive mode.
{
G4UIsession * session = new G4UIterminal;
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute init.mac");
session->SessionStart();
delete session;
@@ -92,3 +98,5 @@ int main(int argc,char** argv) {
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-02-00 $
(10-Mar-2000)
Geant4 version $Name: geant4-03-00 $
(30-Jun-2000)
Copyright : Geant4 Collaboration
**********************************************
@@ -69,16 +69,17 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
material min.delta energy(keV)
Air 0.99
Water 81.518
lAr 78.381
Al 125.07
Fe 224.12
BGO 187.02
PbWO4 200.98
Tungsten 337
Lead 229.66
Water 81.507
lAr 78.362
Al 125.06
Fe 224.07
BGO 186.87
PbWO4 200.84
Tungsten 337.27
Lead 229.55
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
@@ -97,14 +98,14 @@ msc: Tables of transport mean free paths.
material min.delta energy(keV)
Air 0.99
Water 81.518
lAr 78.381
Al 125.07
Fe 224.12
BGO 187.02
PbWO4 200.98
Tungsten 337
Lead 229.66
Water 81.507
lAr 78.362
Al 125.06
Fe 224.07
BGO 186.87
PbWO4 200.84
Tungsten 337.27
Lead 229.55
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
@@ -129,20 +130,20 @@ MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 1 mm 1 mm 1 mm 1 mm 1 mm
gamma e-
Cut in range 1 mm 1 mm
Cut in energy
Air 990 eV 990 eV 48.4 keV 83.2 keV 990 eV
Water 2.9 keV 347 keV 3.39 MeV 8.95 MeV 990 eV
lAr 6.18 keV 343 keV 3.24 MeV 8.32 MeV 990 eV
Al 6.89 keV 597 keV 5.02 MeV 13.1 MeV 990 eV
Fe 20.8 keV 1.28 MeV 8.52 MeV 22 MeV 990 eV
BGO 77.7 keV 1.03 MeV 7.17 MeV 18.1 MeV 990 eV
PbWO4 84.8 keV 1.13 MeV 7.63 MeV 19.2 MeV 990 eV
Tungsten 105 keV 2.31 MeV 11.7 MeV 29.5 MeV 990 eV
Lead 101 keV 1.38 MeV 8.52 MeV 20.9 MeV 990 eV
Air 990 eV 990 eV
Water 2.9 keV 347 keV
lAr 6.18 keV 343 keV
Al 6.89 keV 597 keV
Fe 20.8 keV 1.28 MeV
BGO 77.7 keV 1.03 MeV
PbWO4 84.8 keV 1.13 MeV
Tungsten 105 keV 2.31 MeV
Lead 101 keV 1.38 MeV
===================================================
# $Id: TestEm2.out,v 1.5 2000/06/24 08:01:20 stesting Exp $
# $Id: TestEm2.out,v 1.9 2000/11/24 10:50:41 stesting Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -189,16 +190,17 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
material min.delta energy(keV)
Air 3.2397
Water 215.05
lAr 209.6
Al 349.54
Fe 697.76
BGO 570.46
PbWO4 624.12
Tungsten 1195.6
Lead 745.94
Water 215.03
lAr 209.58
Al 349.52
Fe 697.65
BGO 571.17
PbWO4 625.41
Tungsten 1205.1
Lead 750.46
eBrem: Total cross sections from a parametrisation. Good description from 10 KeV to 100 GeV.
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
@@ -217,14 +219,14 @@ msc: Tables of transport mean free paths.
material min.delta energy(keV)
Air 3.2397
Water 215.05
lAr 209.6
Al 349.54
Fe 697.76
BGO 570.46
PbWO4 624.12
Tungsten 1195.6
Lead 745.94
Water 215.03
lAr 209.58
Al 349.52
Fe 697.65
BGO 571.17
PbWO4 625.41
Tungsten 1205.1
Lead 750.46
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
@@ -249,18 +251,18 @@ MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range 5 mm 5 mm 5 mm 5 mm 5 mm
gamma e-
Cut in range 5 mm 5 mm
Cut in energy
Air 990 eV 3.24 keV 156 keV 326 keV 990 eV
Water 5.78 keV 1.16 MeV 8.21 MeV 22 MeV 990 eV
lAr 13.6 keV 1.16 MeV 8.01 MeV 20.9 MeV 990 eV
Al 14.6 keV 2.31 MeV 12.5 MeV 32.6 MeV 990 eV
Fe 46.4 keV 6.11 MeV 21.5 MeV 54.7 MeV 990 eV
BGO 126 keV 4.72 MeV 18.1 MeV 45.7 MeV 990 eV
PbWO4 137 keV 5.34 MeV 19.4 MeV 48.3 MeV 990 eV
Tungsten 241 keV 13 MeV 30.7 MeV 75.3 MeV 990 eV
Lead 204 keV 6.83 MeV 22 MeV 54 MeV 990 eV
Air 990 eV 3.24 keV
Water 5.78 keV 1.16 MeV
lAr 13.6 keV 1.16 MeV
Al 14.6 keV 2.31 MeV
Fe 46.4 keV 6.11 MeV
BGO 126 keV 4.72 MeV
PbWO4 137 keV 5.34 MeV
Tungsten 241 keV 13 MeV
Lead 204 keV 6.83 MeV
===================================================
#
/run/verbose 2
@@ -291,20 +293,20 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=135.06s Real=147.92s Sys=11.58s
User=140.09s Real=152.81s Sys=11.26s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 12.83% 4.80% 0-> 1.11 radl: 12.83% 4.80%
1.11-> 2.22 radl: 22.99% 10.59% 0-> 2.22 radl: 35.82% 13.46%
2.22-> 3.33 radl: 23.35% 11.11% 0-> 3.33 radl: 59.17% 18.23%
3.33-> 4.44 radl: 14.66% 7.64% 0-> 4.44 radl: 73.83% 17.47%
4.44-> 5.55 radl: 10.04% 7.93% 0-> 5.55 radl: 83.88% 14.03%
5.55-> 6.66 radl: 5.77% 5.99% 0-> 6.66 radl: 89.65% 11.25%
6.66-> 7.77 radl: 2.68% 3.89% 0-> 7.77 radl: 92.33% 9.04%
7.77-> 8.88 radl: 1.65% 3.99% 0-> 8.88 radl: 93.97% 5.64%
8.88-> 9.99 radl: 1.02% 3.35% 0-> 9.99 radl: 94.99% 3.52%
0.00-> 1.11 radl: 14.27% 5.32% 0-> 1.11 radl: 14.27% 5.32%
1.11-> 2.22 radl: 25.49% 10.73% 0-> 2.22 radl: 39.76% 12.31%
2.22-> 3.33 radl: 24.35% 9.19% 0-> 3.33 radl: 64.11% 14.46%
3.33-> 4.44 radl: 14.08% 8.04% 0-> 4.44 radl: 78.19% 12.42%
4.44-> 5.55 radl: 7.56% 5.98% 0-> 5.55 radl: 85.75% 9.56%
5.55-> 6.66 radl: 4.56% 4.61% 0-> 6.66 radl: 90.31% 6.95%
6.66-> 7.77 radl: 2.53% 3.85% 0-> 7.77 radl: 92.84% 4.92%
7.77-> 8.88 radl: 1.36% 2.46% 0-> 8.88 radl: 94.20% 3.96%
8.88-> 9.99 radl: 0.81% 2.04% 0-> 9.99 radl: 95.00% 3.23%
@@ -312,21 +314,21 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 66.01% 9.70% 0-> 0.11 radl: 66.01% 9.70%
0.11-> 0.22 radl: 16.95% 6.97% 0-> 0.22 radl: 82.95% 7.09%
0.22-> 0.33 radl: 5.91% 4.08% 0-> 0.33 radl: 88.86% 5.43%
0.33-> 0.44 radl: 2.97% 2.51% 0-> 0.44 radl: 91.83% 4.45%
0.44-> 0.56 radl: 1.85% 1.52% 0-> 0.56 radl: 93.68% 3.99%
0.56-> 0.67 radl: 1.31% 1.50% 0-> 0.67 radl: 94.99% 3.52%
0.00-> 0.11 radl: 66.35% 10.09% 0-> 0.11 radl: 66.35% 10.09%
0.11-> 0.22 radl: 16.35% 6.18% 0-> 0.22 radl: 82.70% 7.45%
0.22-> 0.33 radl: 5.98% 3.96% 0-> 0.33 radl: 88.68% 5.74%
0.33-> 0.44 radl: 3.19% 3.15% 0-> 0.44 radl: 91.87% 4.09%
0.44-> 0.56 radl: 1.94% 2.23% 0-> 0.56 radl: 93.81% 3.33%
0.56-> 0.67 radl: 1.19% 1.25% 0-> 0.67 radl: 95.00% 3.23%
SUMMARY
energy deposit : 94.99 % E0 +- 3.52 % E0
charged traklen: 13.64 radl +- 0.52 radl
neutral traklen: 192.15 radl +- 20.63 radl
energy deposit : 95.00 % E0 +- 3.23 % E0
charged traklen: 13.59 radl +- 0.48 radl
neutral traklen: 200.27 radl +- 20.88 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 2001046935, 58619762
Current couple of seeds = 617458126, 1124214817
----------------------------------------
@@ -85,7 +85,7 @@
PAXIS = 0.
SAXIS = 0.2*Z1
CALL GDRAWC ('ECAL',IX,0.,10.,10.,SCALE,SCALE)
CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS)
CCC CALL GDAXIS (PAXIS,PAXIS,PAXIS,SAXIS)
CALL GDSCAL ( 10., 0.3)
CALL GDCLOS
END DO
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2DetectorConstruction.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2DetectorMessenger.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2EventAction.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2EventActionMessenger.hh,v 1.2 1999/12/15 14:48:59 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2PhysicsList.hh,v 1.3 2000/04/17 11:25:52 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2PhysicsListMessenger.hh,v 1.1 2000/04/17 11:25:52 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:48:59 gunter 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: Em2RunAction.hh,v 1.4 2000/01/21 10:56:14 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Em2RunAction.hh,v 1.5 2000/12/07 12:14:06 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -35,11 +35,6 @@ class Em2RunActionMessenger;
class G4Run;
#ifndef G4NOHIST
class HepTupleManager;
class HepHistogram;
#endif
class Em2RunAction : public G4UserRunAction
{
public:
@@ -96,16 +91,7 @@ class Em2RunAction : public G4UserRunAction
G4double sum2NeutrTrLength;
Em2RunActionMessenger* runMessenger;
G4int saveRndm;
#ifndef G4NOHIST
HepTupleManager* hbookManager;
HepHistogram *histo1, *histo2, *histo3;
HepHistogram *histo4, *histo5, *histo6;
HepHistogram *histo7, *histo8, *histo9;
HepHistogram *hist10, *hist11, *hist12;
#endif
G4int saveRndm;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2RunActionMessenger.hh,v 1.3 2000/01/21 10:56:15 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2SteppingAction.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -5,18 +5,15 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Em2SteppingVerbose.hh,v 1.3 2000/02/29 12:16:59 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Em2SteppingVerbose.hh,v 1.4 2000/12/06 14:12:16 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
// It shows how to extract informations during the tracking of a particle.
//
// Em2SteppingVerbose.hh
//
// Description:
// This class manages the vervose outputs in G4SteppingManager.
//
//---------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
class Em2SteppingVerbose;
@@ -25,16 +22,17 @@ class Em2SteppingVerbose;
#include "G4SteppingVerbose.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
class Em2SteppingVerbose : public G4SteppingVerbose {
public:
// Constructor/Destructor
Em2SteppingVerbose();
~Em2SteppingVerbose();
//
void StepInfo();
void TrackingStarted();
//
};
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2TrackingAction.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2VisManager.hh,v 1.2 1999/12/15 14:49:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -5,34 +5,26 @@
# and initializes the graphic.
#
/control/verbose 2
/run/verbose 2
#
# Create empty scene ("world" is default)
/vis/scene/create
#
# Add volume to scene
/vis/scene/add/volume
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# Edit the next line(s) to choose another graphic system
#
#/vis/sceneHandler/create DAWNFILE
/vis/sceneHandler/create OGLIX
#
# Create a viewer
/vis/viewer/create
#/vis/open DAWNFILE
/vis/open OGLIX
#
# Draw scene
#
/vis/camera/zoom 1.1
/vis/camera/viewpoint 90 180
/vis/draw/axes 0 0 0 20
/vis/camera/zoom 1.
/vis/scene/notifyHandlers
/vis/drawVolume
#
# for drawing the tracks
# if too many tracks cause core dump => storeTrajectory 0
/tracking/storeTrajectory 1
/event/drawTracks charged
#
# Flush visualization
/vis/viewer/update
#
/run/verbose 2
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2DetectorConstruction.cc,v 1.4 2000/05/09 13:56:33 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2DetectorMessenger.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2EventAction.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2EventActionMessenger.cc,v 1.2 1999/12/15 14:49:00 gunter 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: Em2PhysicsList.cc,v 1.4 2000/04/17 11:26:49 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Em2PhysicsList.cc,v 1.5 2000/12/06 14:12:16 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -165,8 +165,8 @@ void Em2PhysicsList::ConstructEM()
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2PhysicsListMessenger.cc,v 1.1 2000/04/17 11:26:49 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:49:00 gunter 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: Em2RunAction.cc,v 1.5 2000/05/18 15:30:28 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Em2RunAction.cc,v 1.6 2000/12/07 12:14:07 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -29,10 +29,6 @@
#include "Randomize.hh"
#ifndef G4NOHIST
#include "CLHEP/Hist/HBookFile.h"
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
Em2RunAction::Em2RunAction(Em2DetectorConstruction* det,
@@ -58,12 +54,7 @@ Em2RunAction::Em2RunAction(Em2DetectorConstruction* det,
sumE2RadialCumul = *new MyVector(nRbin);
runMessenger = new Em2RunActionMessenger(this);
saveRndm = 1;
#ifndef G4NOHIST
hbookManager = NULL;
#endif
saveRndm = 1;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -77,66 +68,12 @@ Em2RunAction::~Em2RunAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void Em2RunAction::bookHisto()
{
#ifndef G4NOHIST
hbookManager = new HBookFile("TestEm2.histo", 68);
assert (hbookManager != 0);
G4double Ekin = Em2Kin->GetParticleGun()->GetParticleEnergy();
G4double dLradl = Em2Det->GetdLradl();
G4double dRradl = Em2Det->GetdRradl();
histo1 = hbookManager->histogram("total energy deposit (percent of E inc)",
100,0.,100.);
histo2 = hbookManager->histogram("total charged tracklength (radl)",
100,0.,100.*Ekin/GeV);
histo3 = hbookManager->histogram("total neutral tracklength (radl)",
100,0.,1000.*Ekin/GeV);
histo4 = hbookManager->histogram("longit energy profile (% of E inc)",
nLbin,0.,nLbin*dLradl);
G4double Zmin=0.5*dLradl, Zmax=Zmin+nLbin*dLradl;
histo5 = hbookManager->histogram("cumul longit energy dep (% of E inc)",
nLbin,Zmin,Zmax);
histo6 = hbookManager->histogram("rms on cumul longit Edep (% of E inc)",
nLbin,Zmin,Zmax);
histo7 = hbookManager->histogram("nb of gamma per plane",
nLbin,Zmin,Zmax);
histo8 = hbookManager->histogram("nb of positron per plane",
nLbin,Zmin,Zmax);
histo9 = hbookManager->histogram("nb of electron per plane",
nLbin,Zmin,Zmax);
hist10 = hbookManager->histogram("radial energy profile (% of E inc)",
nRbin,0.,nRbin*dRradl);
G4double Rmin=0.5*dRradl, Rmax=Rmin+nRbin*dRradl;
hist11 = hbookManager->histogram("cumul radial energy dep (% of E inc)",
nRbin,Rmin,Rmax);
hist12 = hbookManager->histogram("rms on cumul radial Edep (% of E inc)",
nRbin,Rmin,Rmax);
#endif
}
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
void Em2RunAction::cleanHisto()
{
#ifndef G4NOHIST
delete histo1; delete histo2; delete histo3;
delete histo4; delete histo5; delete histo6;
delete histo7; delete histo8; delete histo9;
delete hist10; delete hist11; delete hist12;
delete hbookManager;
#endif
}
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -226,19 +163,7 @@ void Em2RunAction::fillPerEvent()
sumChargTrLength += ChargTrLength;
sum2ChargTrLength += ChargTrLength*ChargTrLength;
sumNeutrTrLength += NeutrTrLength;
sum2NeutrTrLength += NeutrTrLength*NeutrTrLength;
#ifndef G4NOHIST
//fill histograms
//
G4double Ekin=Em2Kin->GetParticleGun()->GetParticleEnergy();
G4double mass=Em2Kin->GetParticleGun()->GetParticleDefinition()->GetPDGMass();
G4double radl=Em2Det->GetMaterial()->GetRadlen();
histo1->accumulate(100.*dLCumul/(Ekin+mass));
histo2->accumulate(ChargTrLength/radl);
histo3->accumulate(NeutrTrLength/radl);
#endif
sum2NeutrTrLength += NeutrTrLength*NeutrTrLength;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -278,18 +203,6 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
gammaFlux (i) /= NbOfEvents;
electronFlux(i) /= NbOfEvents;
positronFlux(i) /= NbOfEvents;
#ifndef G4NOHIST
bin = i*dLradl;
histo4->accumulate(bin,MeanELongit(i)/dLradl);
bin = (i+1)*dLradl;
histo5->accumulate(bin,MeanELongitCumul(i));
histo6->accumulate(bin, rmsELongitCumul(i));
histo7->accumulate(bin, gammaFlux(i));
histo8->accumulate(bin, positronFlux(i));
histo9->accumulate(bin, electronFlux(i));
#endif
}
//radial
@@ -308,14 +221,7 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
MeanERadialCumul(i) = norme*sumERadialCumul(i);
rmsERadialCumul(i) = norme*sqrt(abs(NbOfEvents*sumE2RadialCumul(i)
- sumERadialCumul(i)*sumERadialCumul(i)));
#ifndef G4NOHIST
bin = i*dRradl;
hist10->accumulate(bin,MeanERadial(i)/dRradl);
bin = (i+1)*dRradl;
hist11->accumulate(bin,MeanERadialCumul(i));
hist12->accumulate(bin, rmsERadialCumul(i));
#endif
}
//track length
@@ -394,12 +300,7 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
if (saveRndm == 1)
{ HepRandom::showEngineStatus();
HepRandom::saveEngineStatus("endOfRun.rndm");
}
#ifndef G4NOHIST
// Write histogram file
hbookManager->write();
#endif
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2RunActionMessenger.cc,v 1.3 2000/01/21 10:56:16 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2SteppingAction.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -5,39 +5,30 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: Em2SteppingVerbose.cc,v 1.3 2000/02/29 12:17:15 maire Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: Em2SteppingVerbose.cc,v 1.4 2000/12/06 14:12:16 maire Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
//---------------------------------------------------------------
//
// Em2SteppingVerbose.cc
//
// Description:
// Implementation of the Em2SteppingVerbose class
//
//---------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
#include "Em2SteppingVerbose.hh"
#include "G4SteppingManager.hh"
#include "G4SteppingManager.hh"
#include "G4UnitsTable.hh"
////////////////////////////////////////////////
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
Em2SteppingVerbose::Em2SteppingVerbose()
////////////////////////////////////////////////
{
}
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//////////////////////////////////////////////////
Em2SteppingVerbose::~Em2SteppingVerbose()
//////////////////////////////////////////////////
{
}
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
/////////////////////////////////////////
void Em2SteppingVerbose::StepInfo()
/////////////////////////////////////////
{
CopyState();
@@ -124,11 +115,11 @@ void Em2SteppingVerbose::StepInfo()
}
G4cout.precision(prec);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
////////////////////////////////////////////////
void Em2SteppingVerbose::TrackingStarted()
////////////////////////////////////////////////
{
CopyState();
@@ -163,4 +154,6 @@ G4int prec = G4cout.precision(3);
G4cout << G4std::setw(10) << "initStep" << G4endl;
}
G4cout.precision(prec);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -7,7 +7,7 @@
// and all its terms.
//
// $Id: Em2TrackingAction.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: Em2VisManager.cc,v 1.2 1999/12/15 14:49:01 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// John Allison 24th January 1998.