Import Geant4 3.1.0 source tree
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01.cc,v 1.6 2000/11/15 13:46:23 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01AnalysisManager.hh,v 1.3 2000/10/31 13:10:00 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01CalorHit.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01CalorimeterSD.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01DetectorConstruction.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01DetectorMessenger.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01EventAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PhysicsList.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PrimaryGeneratorAction.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PrimaryGeneratorMessenger.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01RunAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01SteppingAction.hh,v 1.3 2000/11/10 14:12:07 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01SteppingVerbose.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01VisManager.hh,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01AnalysisManager.cc,v 1.9 2000/12/06 13:08:03 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// Guy Barrand 14th Septembre 2000.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01CalorHit.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01CalorimeterSD.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01DetectorConstruction.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01DetectorMessenger.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01EventAction.cc,v 1.3 2000/11/10 14:08:08 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PhysicsList.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PrimaryGeneratorAction.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01PrimaryGeneratorMessenger.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01RunAction.cc,v 1.3 2000/11/10 14:08:09 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01SteppingAction.cc,v 1.3 2000/11/10 14:08:10 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01SteppingVerbose.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: AnaEx01VisManager.cc,v 1.1.1.1 2000/09/14 11:37:21 barrand Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// John Allison 24th January 1998.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.4 2000/12/07 11:43:03 maire Exp $
|
||||
# $Id: GNUmakefile,v 1.5 2001/02/21 14:00:33 maire Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -16,4 +16,12 @@ all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
G4NOHIST := true
|
||||
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.7 2000/12/07 11:43:03 maire Exp $
|
||||
$Id: History,v 1.11 2001/03/27 08:34:07 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,19 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
27-03-01 mma (testem1-V03-00-05)
|
||||
- set cppflag G4NOHIST = true in gnumakefile
|
||||
|
||||
08-03-01 Hisaya (testem1-V03-00-04)
|
||||
- adapted ProcessesCount to STL
|
||||
|
||||
21-02-01 mma (testem1-V03-00-03)
|
||||
- hbook histograms restored
|
||||
|
||||
20-02-01 mma (testem1-V03-00-02)
|
||||
- verbose stepping adapted for STL
|
||||
- save rndm at begin of event
|
||||
|
||||
07-12-00 mma (testem1-V02-00-03 & testem-noHist)
|
||||
remove hbook histograms: GNUmakefile,runAction,trackingAction,
|
||||
steppingAction
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.1 1999/10/11 13:07:24 maire Exp $
|
||||
$Id: README,v 1.3 2001/03/30 12:41:27 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -90,13 +90,16 @@ $Id: README,v 1.1 1999/10/11 13:07:24 maire Exp $
|
||||
|
||||
7- HISTOGRAMS
|
||||
|
||||
Testem1 produces several histo which are saved as testem1.histo
|
||||
Testem1 produces several histo which are saved as testem1.paw
|
||||
|
||||
Content of these histo:
|
||||
|
||||
1 : track length of a charged particle
|
||||
2 : number of steps per track (charged particle)
|
||||
3 : step length (charged particle)
|
||||
|
||||
|
||||
|
||||
|
||||
Note that, histograms are disabled via the flag G4NOHIST in the GNUmakefile.
|
||||
Currently, histograms in this example are implemented through the obsolete
|
||||
CLHEP/Hist package, which is no longer supported. The implementation will
|
||||
be replaced by direct call to the "analysis" module in a near future.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: TestEm1.cc,v 1.4 2000/12/06 13:21:48 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
**********************************************
|
||||
Geant4 version $Name: geant4-03-00 $
|
||||
(30-Jun-2000)
|
||||
Geant4 version $Name: geant4-03-01 $
|
||||
(15-Dec-2000)
|
||||
Copyright : Geant4 Collaboration
|
||||
**********************************************
|
||||
|
||||
***** Table : Nb of materials = 8 *****
|
||||
***** Table : Nb of materials = 9 *****
|
||||
|
||||
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
|
||||
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
|
||||
@@ -23,6 +23,9 @@
|
||||
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
|
||||
---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Silicon density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm
|
||||
---> Element: Silicon Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm
|
||||
---> Element: Iron Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
@@ -63,13 +66,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 0.99
|
||||
H2liquid 28.675
|
||||
Water 81.507
|
||||
liquidArgon 78.362
|
||||
Aluminium 125.06
|
||||
Iron 224.07
|
||||
Lead 229.55
|
||||
Uranium 296.06
|
||||
H2liquid 28.089
|
||||
Water 81.851
|
||||
liquidArgon 79.954
|
||||
Aluminium 125.02
|
||||
Silicon 116.88
|
||||
Iron 225.11
|
||||
Lead 228.53
|
||||
Uranium 294.24
|
||||
|
||||
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV.
|
||||
@@ -91,13 +95,14 @@ msc: Tables of transport mean free paths.
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 0.99
|
||||
H2liquid 28.675
|
||||
Water 81.507
|
||||
liquidArgon 78.362
|
||||
Aluminium 125.06
|
||||
Iron 224.07
|
||||
Lead 229.55
|
||||
Uranium 296.06
|
||||
H2liquid 28.089
|
||||
Water 81.851
|
||||
liquidArgon 79.954
|
||||
Aluminium 125.02
|
||||
Silicon 116.88
|
||||
Iron 225.11
|
||||
Lead 228.53
|
||||
Uranium 294.24
|
||||
|
||||
hIoni: Knock-on electron cross sections .
|
||||
Good description above the mean excitation energy.
|
||||
@@ -130,11 +135,12 @@ Cut in energy
|
||||
Water 2.9 keV 347 keV
|
||||
liquidArgon 6.18 keV 343 keV
|
||||
Aluminium 6.89 keV 597 keV
|
||||
Silicon 6.89 keV 541 keV
|
||||
Iron 20.8 keV 1.28 MeV
|
||||
Lead 101 keV 1.38 MeV
|
||||
Uranium 110 keV 1.92 MeV
|
||||
===================================================
|
||||
# $Id: TestEm1.out,v 1.7 2000/11/24 10:36:58 stesting Exp $
|
||||
# $Id: TestEm1.out,v 1.11 2001/03/30 09:02:57 stesting Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
@@ -176,11 +182,12 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
|
||||
Air 0.99
|
||||
H2liquid 0.99
|
||||
Water 3.2733
|
||||
liquidArgon 3.7293
|
||||
Aluminium 6.3003
|
||||
Iron 10.422
|
||||
Lead 8.9769
|
||||
Uranium 11.54
|
||||
liquidArgon 3.9154
|
||||
Aluminium 6.2979
|
||||
Silicon 5.8817
|
||||
Iron 10.524
|
||||
Lead 9.1135
|
||||
Uranium 11.689
|
||||
|
||||
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV.
|
||||
@@ -204,11 +211,12 @@ msc: Tables of transport mean free paths.
|
||||
Air 0.99
|
||||
H2liquid 0.99
|
||||
Water 3.2733
|
||||
liquidArgon 3.7293
|
||||
Aluminium 6.3003
|
||||
Iron 10.422
|
||||
Lead 8.9769
|
||||
Uranium 11.54
|
||||
liquidArgon 3.9154
|
||||
Aluminium 6.2979
|
||||
Silicon 5.8817
|
||||
Iron 10.524
|
||||
Lead 9.1135
|
||||
Uranium 11.689
|
||||
|
||||
hIoni: Knock-on electron cross sections .
|
||||
Good description above the mean excitation energy.
|
||||
@@ -241,6 +249,7 @@ Cut in energy
|
||||
Water 4.06 keV 3.27 keV
|
||||
liquidArgon 9.08 keV 3.98 keV
|
||||
Aluminium 9.99 keV 9.97 keV
|
||||
Silicon 10 keV 8.45 keV
|
||||
Iron 31.1 keV 43.3 keV
|
||||
Lead 124 keV 42.8 keV
|
||||
Uranium 143 keV 53.4 keV
|
||||
@@ -265,18 +274,18 @@ Start Run processing.
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 100
|
||||
User=70.06s Real=75.54s Sys=4.95s
|
||||
User=91.99s Real=97.75s Sys=5.73s
|
||||
|
||||
nb tracks/event neutral: 28.42 charged: 650.00
|
||||
nb steps/event neutral: 151.89 charged: 1278.63
|
||||
nb tracks/event neutral: 27.57 charged: 666.07
|
||||
nb steps/event neutral: 144.93 charged: 2194.99
|
||||
|
||||
nb of process calls per event:
|
||||
eIoni eBrem phot compt conv annihil
|
||||
1251.55 25.69 27.03 123.47 1.39 1.39
|
||||
eIoni eBrem conv annihil compt phot
|
||||
2168.94 24.47 1.58 1.58 117.36 25.99
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 1391858697, 202982242
|
||||
Current couple of seeds = 1463312763, 65501812
|
||||
----------------------------------------
|
||||
G4 kernel has come to Quit state.
|
||||
Deletion of G4 kernel class start.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1DetectorConstruction.hh,v 1.2 1999/12/15 14:48:52 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1DetectorMessenger.hh,v 1.2 1999/12/15 14:48:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1EventAction.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1EventActionMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PhysicsList.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PhysicsListMessenger.hh,v 1.2 1999/12/15 14:48:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PrimaryGeneratorAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1RunAction.hh,v 1.4 2000/12/07 11:43:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1RunAction.hh,v 1.5 2001/02/21 14:00:34 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
class G4Run;
|
||||
class Em1RunActionMessenger;
|
||||
|
||||
#ifndef G4NOHIST
|
||||
class HepTupleManager;
|
||||
class HepHistogram;
|
||||
#endif
|
||||
|
||||
class Em1RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
@@ -44,7 +49,11 @@ class Em1RunAction : public G4UserRunAction
|
||||
public:
|
||||
void SetRndmFreq(G4int val) {saveRndm = val;}
|
||||
G4int GetRndmFreq() {return saveRndm;}
|
||||
|
||||
|
||||
#ifndef G4NOHIST
|
||||
HepHistogram* GetHisto(G4int id) {return histo[id];}
|
||||
#endif
|
||||
|
||||
private:
|
||||
void bookHisto();
|
||||
void cleanHisto();
|
||||
@@ -56,6 +65,11 @@ class Em1RunAction : public G4UserRunAction
|
||||
|
||||
Em1RunActionMessenger* runMessenger;
|
||||
G4int saveRndm;
|
||||
|
||||
#ifndef G4NOHIST
|
||||
HepTupleManager* hbookManager;
|
||||
HepHistogram* histo[3];
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1RunActionMessenger.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1SteppingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1SteppingVerbose.hh,v 1.4 2000/12/06 13:21:49 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1SteppingVerbose.hh,v 1.5 2001/02/19 14:04:26 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// This class manages the verbose outputs in G4SteppingManager.
|
||||
// It inherits from G4SteppingVerbose.
|
||||
@@ -15,8 +15,6 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
class Em1SteppingVerbose;
|
||||
|
||||
#ifndef Em1SteppingVerbose_h
|
||||
#define Em1SteppingVerbose_h 1
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1TrackingAction.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1VisManager.hh,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
// This code implementation is the intellectual property of
|
||||
// the GEANT4 collaboration.
|
||||
//
|
||||
@@ -6,19 +5,13 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: ProcessesCount.hh,v 1.3 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: ProcessesCount.hh,v 1.5 2001/03/08 16:45:17 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// -----------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD group
|
||||
//
|
||||
// ------------------- class ProcessesCount -----------------
|
||||
//
|
||||
// 26-10-98: first version, M.Maire
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
// 08.03.01 Hisaya: adapted for STL
|
||||
// 26.10.98 mma : first version
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -27,7 +20,7 @@
|
||||
#define ProcessesCount_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4rw/tpordvec.h"
|
||||
#include "g4std/vector"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -36,12 +29,6 @@ class OneProcessCount
|
||||
public:
|
||||
OneProcessCount(G4String name) {Name=name; Counter=0;};
|
||||
~OneProcessCount() {};
|
||||
G4int operator==(const OneProcessCount& right) const {return (this==&right);};
|
||||
G4int operator!=(const OneProcessCount& right) const {return (this!=&right);};
|
||||
|
||||
private:
|
||||
OneProcessCount(OneProcessCount& right) {*this= right;};
|
||||
const OneProcessCount& operator=(const OneProcessCount& right) {return right;};
|
||||
|
||||
public:
|
||||
G4String GetName() {return Name;};
|
||||
@@ -56,6 +43,12 @@ private:
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
|
||||
typedef G4RWTPtrOrderedVector<OneProcessCount> ProcessesCount;
|
||||
typedef G4std::vector<OneProcessCount*> ProcessesCount;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1DetectorConstruction.cc,v 1.4 2000/12/13 11:11:59 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1DetectorMessenger.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1EventAction.cc,v 1.2 1999/12/15 14:48:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1EventAction.cc,v 1.3 2001/02/20 15:45:17 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -47,10 +47,21 @@ Em1EventAction::~Em1EventAction()
|
||||
void Em1EventAction::BeginOfEventAction(const G4Event* evt)
|
||||
{
|
||||
G4int evtNb = evt->GetEventID();
|
||||
|
||||
//printing survey
|
||||
if (evtNb%printModulo == 0)
|
||||
G4cout << "\n---> Begin of Event: " << evtNb << G4endl;
|
||||
|
||||
TotalEnergyDeposit = 0.;}
|
||||
|
||||
//save rndm status
|
||||
if (Em1Run->GetRndmFreq() == 2)
|
||||
{
|
||||
HepRandom::saveEngineStatus("beginOfEvent.rndm");
|
||||
if (evtNb%printModulo == 0) HepRandom::showEngineStatus();
|
||||
}
|
||||
|
||||
//additional initializations
|
||||
TotalEnergyDeposit = 0.;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -73,18 +84,6 @@ void Em1EventAction::EndOfEventAction(const G4Event* evt)
|
||||
trj->DrawTrajectory(50);
|
||||
}
|
||||
}
|
||||
|
||||
//save rndm status
|
||||
if (Em1Run->GetRndmFreq() == 2)
|
||||
{
|
||||
HepRandom::saveEngineStatus("endOfEvent.rndm");
|
||||
G4int evtNb = evt->GetEventID();
|
||||
if (evtNb%printModulo == 0)
|
||||
{
|
||||
G4cout << "\n---> End of Event: " << evtNb << G4endl;
|
||||
HepRandom::showEngineStatus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1EventActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PhysicsList.cc,v 1.3 2000/03/05 03:31:39 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PhysicsListMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1PrimaryGeneratorAction.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1RunAction.cc,v 1.6 2000/12/07 11:43:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
//
|
||||
// $Id: Em1RunAction.cc,v 1.10 2001/03/27 08:34:08 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
// 08.03.01 Hisaya: adapted for STL
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -24,12 +26,20 @@
|
||||
|
||||
#include "Randomize.hh"
|
||||
|
||||
#ifndef G4NOHIST
|
||||
#include "CLHEP/Hist/HBookFile.h"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
Em1RunAction::Em1RunAction()
|
||||
: ProcCounter(0), saveRndm (1),
|
||||
runMessenger(new Em1RunActionMessenger(this))
|
||||
{}
|
||||
{
|
||||
#ifndef G4NOHIST
|
||||
hbookManager = NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -42,12 +52,28 @@ Em1RunAction::~Em1RunAction()
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void Em1RunAction::bookHisto()
|
||||
{}
|
||||
{
|
||||
#ifndef G4NOHIST
|
||||
hbookManager = new HBookFile("testem1.paw", 68);
|
||||
|
||||
// booking histograms
|
||||
histo[0] = hbookManager->histogram("track length (mm) of a charged particle",100,0.,50*cm);
|
||||
histo[1] = hbookManager->histogram("Nb of steps per track (charged particle)",100,0.,100.);
|
||||
histo[2] = hbookManager->histogram("step length (mm) charged particle",100,0.,10*mm);
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void Em1RunAction::cleanHisto()
|
||||
{}
|
||||
{
|
||||
#ifndef G4NOHIST
|
||||
// writing histogram file
|
||||
hbookManager->write();
|
||||
delete [] histo;
|
||||
delete hbookManager;
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -80,10 +106,10 @@ void Em1RunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
void Em1RunAction::CountProcesses(G4String procName)
|
||||
{
|
||||
//does the process already encounted ?
|
||||
size_t nbProc = ProcCounter->entries();
|
||||
size_t nbProc = ProcCounter->size();
|
||||
size_t i = 0;
|
||||
while ((i<nbProc)&&((*ProcCounter)[i]->GetName()!=procName)) i++;
|
||||
if (i == nbProc) ProcCounter->insert( new OneProcessCount(procName));
|
||||
if (i == nbProc) ProcCounter->push_back( new OneProcessCount(procName));
|
||||
|
||||
(*ProcCounter)[i]->Count();
|
||||
}
|
||||
@@ -110,11 +136,11 @@ void Em1RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
|
||||
//frequency of processes call
|
||||
G4cout << "\n nb of process calls per event: \n ";
|
||||
for (G4int i=0; i< ProcCounter->entries();i++)
|
||||
for (G4int i=0; i< ProcCounter->size();i++)
|
||||
G4cout << G4std::setw(9) << (*ProcCounter)[i]->GetName();
|
||||
|
||||
G4cout << "\n ";
|
||||
for (G4int j=0; j< ProcCounter->entries();j++)
|
||||
for (G4int j=0; j< ProcCounter->size();j++)
|
||||
G4cout << G4std::setw(9) << ((*ProcCounter)[j]->GetCounter())/dNbOfEvents;
|
||||
G4cout << G4endl;
|
||||
|
||||
@@ -122,15 +148,20 @@ void Em1RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
G4cout.precision(oldprec);
|
||||
}
|
||||
|
||||
ProcCounter->clearAndDestroy();
|
||||
delete ProcCounter;
|
||||
// delete and remove all contents in ProcCounter
|
||||
while (ProcCounter->size()>0){
|
||||
OneProcessCount* aProcCount=ProcCounter->back();
|
||||
ProcCounter->pop_back();
|
||||
delete aProcCount;
|
||||
}
|
||||
delete ProcCounter;
|
||||
|
||||
//draw the events
|
||||
if (G4VVisManager::GetConcreteInstance())
|
||||
G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/update");
|
||||
|
||||
// save Rndm status
|
||||
if (saveRndm == 1)
|
||||
if (saveRndm > 0)
|
||||
{ HepRandom::showEngineStatus();
|
||||
HepRandom::saveEngineStatus("endOfRun.rndm");
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1RunActionMessenger.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1RunActionMessenger.cc,v 1.3 2001/02/20 15:45:17 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -35,8 +35,8 @@ Em1RunActionMessenger::Em1RunActionMessenger(Em1RunAction* run)
|
||||
RndmSaveCmd->SetGuidance("set frequency to save rndm status on external files.");
|
||||
RndmSaveCmd->SetGuidance("freq = 0 not saved");
|
||||
RndmSaveCmd->SetGuidance("freq > 0 saved on: beginOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 1 saved on: endOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 2 saved on: endOfEvent.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq > 0 saved on: endOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 2 saved on: beginOfEvent.rndm");
|
||||
RndmSaveCmd->SetParameterName("frequency",false);
|
||||
RndmSaveCmd->SetRange("frequency>=0 && frequency<=2");
|
||||
RndmSaveCmd->AvailableForStates(PreInit,Idle);
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1SteppingAction.cc,v 1.4 2000/12/07 11:43:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1SteppingAction.cc,v 1.5 2001/02/21 14:00:35 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -19,6 +19,10 @@
|
||||
#include "G4SteppingManager.hh"
|
||||
#include "G4VProcess.hh"
|
||||
|
||||
#ifndef G4NOHIST
|
||||
#include "CLHEP/Hist/HBookFile.h"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
Em1SteppingAction::Em1SteppingAction(Em1RunAction* RuAct, Em1EventAction* EvAct)
|
||||
@@ -41,7 +45,11 @@ void Em1SteppingAction::UserSteppingAction(const G4Step* aStep)
|
||||
if (process) runAction->CountProcesses(process->GetProcessName());
|
||||
|
||||
G4double charge = aStep->GetTrack()->GetDefinition()->GetPDGCharge();
|
||||
G4double steplen = aStep->GetStepLength();
|
||||
G4double steplen = aStep->GetStepLength();
|
||||
|
||||
#ifndef G4NOHIST
|
||||
if (charge != 0.) runAction->GetHisto(2)->accumulate(steplen);
|
||||
#endif
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1SteppingVerbose.cc,v 1.4 2000/12/06 13:21:50 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1SteppingVerbose.cc,v 1.6 2001/02/19 14:05:15 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
@@ -46,7 +46,7 @@ void Em1SteppingVerbose::StepInfo()
|
||||
<< G4std::setw( 9) << "dEStep" << " "
|
||||
<< G4std::setw(10) << "StepLeng"
|
||||
<< G4std::setw(10) << "TrakLeng"
|
||||
<< G4std::setw(10) << "NextVolu"
|
||||
<< G4std::setw(10) << "Volume" << " "
|
||||
<< G4std::setw(10) << "Process" << G4endl;
|
||||
}
|
||||
|
||||
@@ -61,16 +61,17 @@ void Em1SteppingVerbose::StepInfo()
|
||||
|
||||
// if( fStepStatus != fWorldBoundary){
|
||||
if( fTrack->GetNextVolume() != 0 ) {
|
||||
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName();
|
||||
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
|
||||
} else {
|
||||
G4cout << G4std::setw(10) << "OutOfWorld";
|
||||
}
|
||||
|
||||
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
|
||||
G4cout << G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
|
||||
->GetProcessName();
|
||||
G4cout << " "
|
||||
<< G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
|
||||
->GetProcessName();
|
||||
} else {
|
||||
G4cout << "User Limit";
|
||||
G4cout << " UserLimit";
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
@@ -86,12 +87,12 @@ void Em1SteppingVerbose::StepInfo()
|
||||
<< ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt
|
||||
<< ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt
|
||||
<< "), "
|
||||
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).entries()
|
||||
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size()
|
||||
<< " ---------------"
|
||||
<< G4endl;
|
||||
|
||||
for(G4int lp1=(*fSecondary).entries()-tN2ndariesTot;
|
||||
lp1<(*fSecondary).entries(); lp1++){
|
||||
for(G4int lp1=(*fSecondary).size()-tN2ndariesTot;
|
||||
lp1<(*fSecondary).size(); lp1++){
|
||||
G4cout << " : "
|
||||
<< G4std::setw(6)
|
||||
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length")
|
||||
@@ -115,8 +116,8 @@ void Em1SteppingVerbose::StepInfo()
|
||||
|
||||
}
|
||||
G4cout.precision(prec);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
void Em1SteppingVerbose::TrackingStarted()
|
||||
@@ -134,7 +135,7 @@ G4int prec = G4cout.precision(3);
|
||||
<< G4std::setw( 9) << "dEStep" << " "
|
||||
<< G4std::setw(10) << "StepLeng"
|
||||
<< G4std::setw(10) << "TrakLeng"
|
||||
<< G4std::setw(10) << "NextVolu"
|
||||
<< G4std::setw(10) << "Volume" << " "
|
||||
<< G4std::setw(10) << "Process" << G4endl;
|
||||
|
||||
G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
|
||||
@@ -147,13 +148,13 @@ G4int prec = G4cout.precision(3);
|
||||
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
|
||||
|
||||
if(fTrack->GetNextVolume()){
|
||||
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName() << " ";
|
||||
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
|
||||
} else {
|
||||
G4cout << G4std::setw(10) << "OutOfWorld" << " ";
|
||||
G4cout << G4std::setw(10) << "OutOfWorld";
|
||||
}
|
||||
G4cout << G4std::setw(10) << "initStep" << G4endl;
|
||||
G4cout << " initStep" << G4endl;
|
||||
}
|
||||
G4cout.precision(prec);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1TrackingAction.cc,v 1.4 2000/12/07 11:43:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em1TrackingAction.cc,v 1.5 2001/02/21 14:00:35 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
#include "Em1RunAction.hh"
|
||||
|
||||
#include "G4Track.hh"
|
||||
|
||||
#ifndef G4NOHIST
|
||||
#include "CLHEP/Hist/HBookFile.h"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -38,6 +42,10 @@ void Em1TrackingAction::PostUserTrackingAction(const G4Track* aTrack)
|
||||
if (aTrack->GetDefinition()->GetPDGCharge() == 0.)
|
||||
{runAction->CountTraks0(1); runAction->CountSteps0(nbSteps);}
|
||||
else {runAction->CountTraks1(1); runAction->CountSteps1(nbSteps);
|
||||
#ifndef G4NOHIST
|
||||
runAction->GetHisto(0)->accumulate(Trleng);
|
||||
runAction->GetHisto(1)->accumulate((float)nbSteps);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em1VisManager.cc,v 1.2 1999/12/15 14:48:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// John Allison 24th January 1998.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.4 2000/12/07 12:14:06 maire Exp $
|
||||
# $Id: GNUmakefile,v 1.5 2001/02/21 12:15:45 maire Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -16,4 +16,12 @@ all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
G4NOHIST := true
|
||||
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.7 2000/12/07 12:14:06 maire Exp $
|
||||
$Id: History,v 1.11 2001/03/27 08:58:14 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,19 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
27-03-01 mma (testem2-V03-00-05)
|
||||
- set cppflag G4NOHIST = true in gnumakefile
|
||||
|
||||
08-03-01 Hisaya (testem2-V03-00-04)
|
||||
- RunAction adapted for STL
|
||||
|
||||
21-02-01 mma (testem2-V03-00-03)
|
||||
- hbook histograms restored
|
||||
|
||||
20-02-01 mma (testem2-V03-00-02)
|
||||
- verbose stepping adapted for STL
|
||||
- save rndm at begin of event
|
||||
|
||||
07-12-00 mma (testem2-V02-00-03 & testem-noHist)
|
||||
remove hbook histograms: GNUmakefile,runAction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.2 2000/01/21 10:56:13 maire Exp $
|
||||
$Id: README,v 1.4 2001/03/30 12:40:42 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -87,7 +87,7 @@ $Id: README,v 1.2 2000/01/21 10:56:13 maire Exp $
|
||||
|
||||
7- HISTOGRAMS
|
||||
|
||||
TestEm2 produces several histo which are saved as testem2.histo
|
||||
TestEm2 produces several histo which are saved as testem2.paw
|
||||
|
||||
Content of these histo:
|
||||
|
||||
@@ -106,4 +106,9 @@ $Id: README,v 1.2 2000/01/21 10:56:13 maire Exp $
|
||||
10 : radial energy profile
|
||||
11 : cumulated radial energy profile
|
||||
12 : rms of cumulated radial energy profile
|
||||
|
||||
|
||||
Note that, histograms are disabled via the flag G4NOHIST in the GNUmakefile.
|
||||
Currently, histograms in this example are implemented through the obsolete
|
||||
CLHEP/Hist package, which is no longer supported. The implementation will
|
||||
be replaced by direct call to the "analysis" module in a near future.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: TestEm2.cc,v 1.4 2000/12/06 14:12:15 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
**********************************************
|
||||
Geant4 version $Name: geant4-03-00 $
|
||||
(30-Jun-2000)
|
||||
Geant4 version $Name: geant4-03-01 $
|
||||
(15-Dec-2000)
|
||||
Copyright : Geant4 Collaboration
|
||||
**********************************************
|
||||
|
||||
@@ -69,14 +69,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 0.99
|
||||
Water 81.507
|
||||
lAr 78.362
|
||||
Al 125.06
|
||||
Fe 224.07
|
||||
BGO 186.87
|
||||
PbWO4 200.84
|
||||
Tungsten 337.27
|
||||
Lead 229.55
|
||||
Water 81.851
|
||||
lAr 79.954
|
||||
Al 125.02
|
||||
Fe 225.11
|
||||
BGO 187.26
|
||||
PbWO4 201.19
|
||||
Tungsten 336.44
|
||||
Lead 228.53
|
||||
|
||||
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV.
|
||||
@@ -98,14 +98,14 @@ msc: Tables of transport mean free paths.
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 0.99
|
||||
Water 81.507
|
||||
lAr 78.362
|
||||
Al 125.06
|
||||
Fe 224.07
|
||||
BGO 186.87
|
||||
PbWO4 200.84
|
||||
Tungsten 337.27
|
||||
Lead 229.55
|
||||
Water 81.851
|
||||
lAr 79.954
|
||||
Al 125.02
|
||||
Fe 225.11
|
||||
BGO 187.26
|
||||
PbWO4 201.19
|
||||
Tungsten 336.44
|
||||
Lead 228.53
|
||||
|
||||
hIoni: Knock-on electron cross sections .
|
||||
Good description above the mean excitation energy.
|
||||
@@ -143,7 +143,7 @@ Cut in energy
|
||||
Tungsten 105 keV 2.31 MeV
|
||||
Lead 101 keV 1.38 MeV
|
||||
===================================================
|
||||
# $Id: TestEm2.out,v 1.9 2000/11/24 10:50:41 stesting Exp $
|
||||
# $Id: TestEm2.out,v 1.13 2001/03/30 09:03:08 stesting Exp $
|
||||
#
|
||||
# Macro file for "TestEm2.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
@@ -190,14 +190,14 @@ eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 3.2397
|
||||
Water 215.03
|
||||
lAr 209.58
|
||||
Al 349.52
|
||||
Fe 697.65
|
||||
BGO 571.17
|
||||
PbWO4 625.41
|
||||
Tungsten 1205.1
|
||||
Lead 750.46
|
||||
Water 215.85
|
||||
lAr 213.4
|
||||
Al 349.38
|
||||
Fe 698.96
|
||||
BGO 569.64
|
||||
PbWO4 622.56
|
||||
Tungsten 1181.6
|
||||
Lead 737.09
|
||||
|
||||
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV.
|
||||
@@ -219,14 +219,14 @@ msc: Tables of transport mean free paths.
|
||||
material min.delta energy(keV)
|
||||
|
||||
Air 3.2397
|
||||
Water 215.03
|
||||
lAr 209.58
|
||||
Al 349.52
|
||||
Fe 697.65
|
||||
BGO 571.17
|
||||
PbWO4 625.41
|
||||
Tungsten 1205.1
|
||||
Lead 750.46
|
||||
Water 215.85
|
||||
lAr 213.4
|
||||
Al 349.38
|
||||
Fe 698.96
|
||||
BGO 569.64
|
||||
PbWO4 622.56
|
||||
Tungsten 1181.6
|
||||
Lead 737.09
|
||||
|
||||
hIoni: Knock-on electron cross sections .
|
||||
Good description above the mean excitation energy.
|
||||
@@ -293,20 +293,20 @@ Start Run processing.
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 100
|
||||
User=140.09s Real=152.81s Sys=11.26s
|
||||
User=118.39s Real=124.16s Sys=5.71s
|
||||
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
|
||||
|
||||
bin Mean rms bin Mean rms
|
||||
|
||||
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%
|
||||
0.00-> 1.11 radl: 13.95% 5.86% 0-> 1.11 radl: 13.95% 5.86%
|
||||
1.11-> 2.22 radl: 24.45% 11.26% 0-> 2.22 radl: 38.40% 14.27%
|
||||
2.22-> 3.33 radl: 21.91% 9.16% 0-> 3.33 radl: 60.31% 16.74%
|
||||
3.33-> 4.44 radl: 13.94% 8.39% 0-> 4.44 radl: 74.25% 15.37%
|
||||
4.44-> 5.55 radl: 9.45% 7.28% 0-> 5.55 radl: 83.71% 11.88%
|
||||
5.55-> 6.66 radl: 5.33% 6.03% 0-> 6.66 radl: 89.04% 8.36%
|
||||
6.66-> 7.77 radl: 3.38% 4.46% 0-> 7.77 radl: 92.41% 5.90%
|
||||
7.77-> 8.88 radl: 1.43% 2.94% 0-> 8.88 radl: 93.84% 3.90%
|
||||
8.88-> 9.99 radl: 0.98% 2.37% 0-> 9.99 radl: 94.82% 3.19%
|
||||
|
||||
|
||||
|
||||
@@ -314,21 +314,21 @@ Run Summary
|
||||
|
||||
bin Mean rms bin Mean rms
|
||||
|
||||
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%
|
||||
0.00-> 0.11 radl: 65.09% 8.82% 0-> 0.11 radl: 65.09% 8.82%
|
||||
0.11-> 0.22 radl: 17.01% 6.52% 0-> 0.22 radl: 82.10% 7.04%
|
||||
0.22-> 0.33 radl: 6.93% 4.24% 0-> 0.33 radl: 89.02% 5.40%
|
||||
0.33-> 0.44 radl: 3.06% 3.03% 0-> 0.44 radl: 92.08% 3.54%
|
||||
0.44-> 0.56 radl: 1.71% 1.25% 0-> 0.56 radl: 93.79% 3.27%
|
||||
0.56-> 0.67 radl: 1.03% 0.93% 0-> 0.67 radl: 94.82% 3.19%
|
||||
|
||||
SUMMARY
|
||||
energy deposit : 95.00 % E0 +- 3.23 % E0
|
||||
charged traklen: 13.59 radl +- 0.48 radl
|
||||
neutral traklen: 200.27 radl +- 20.88 radl
|
||||
energy deposit : 94.82 % E0 +- 3.19 % E0
|
||||
charged traklen: 13.56 radl +- 0.46 radl
|
||||
neutral traklen: 200.51 radl +- 16.58 radl
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 617458126, 1124214817
|
||||
Current couple of seeds = 576966569, 1968644705
|
||||
----------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -35,3 +35,6 @@
|
||||
10 : radial energy profile
|
||||
11 : cumulated radial energy profile
|
||||
12 : rms of cumulated radial energy profile
|
||||
|
||||
21 : edep distrib as function of kine energy of contributing particle
|
||||
22 : cumulative distrib of 21
|
||||
|
||||
@@ -3,4 +3,5 @@
|
||||
COMMON/CELOSS/ SEL1(NBIN), SEL1C(NBIN), SER1(NBIN), SER1C(NBIN),
|
||||
+ SEL2(NBIN), SEL2C(NBIN), SER2(NBIN), SER2C(NBIN),
|
||||
+ DEDL(NBIN), DEDR(NBIN) , FNPAT(NBIN,3),
|
||||
+ STRCH,STRCH1,STRCH2,STRNE,STRNE1,STRNE2
|
||||
+ STRCH,STRCH1,STRCH2,STRNE,STRNE1,STRNE2,
|
||||
+ EDEPCH,EDEPNE
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
* History
|
||||
* -------
|
||||
*
|
||||
* 27-08-01 : added histo 21 and 22 : edep distribution
|
||||
* 08-02-99 : adapted for Geant4 comparison: electromagnetic/test/TestEm2
|
||||
* 17-02-98 : adapted to Unix + interactive + graphic
|
||||
* 21-01-90 : Simplified version (i.e. near gexam1)
|
||||
|
||||
@@ -31,11 +31,13 @@
|
||||
DEDL(NL) = DEDL(NL) + DESTEP
|
||||
ENDIF
|
||||
*
|
||||
* *** track length
|
||||
* *** track length and total energy deposit
|
||||
IF (CHARGE.NE.0.) THEN
|
||||
STRCH = STRCH + STEP
|
||||
STRCH = STRCH + STEP
|
||||
EDEPCH = EDEPCH + DESTEP
|
||||
ELSE
|
||||
STRNE = STRNE + STEP
|
||||
STRNE = STRNE + STEP
|
||||
EDEPNE = EDEPNE + DESTEP
|
||||
ENDIF
|
||||
*
|
||||
* *** Particle's flux
|
||||
@@ -46,5 +48,10 @@
|
||||
IF (IPART.LE.3) FNPAT(NPL,IPART) = FNPAT(NPL,IPART) + 1.
|
||||
NLOLD = NL
|
||||
ENDIF
|
||||
*
|
||||
*
|
||||
* *** energy of particles contributing to edep
|
||||
IF ((DESTEP).GT.0.)THEN
|
||||
elog = log10((gekin+destep)/pkine(3))
|
||||
call hfill (21,elog,0.,destep)
|
||||
ENDIF
|
||||
END
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
* *** achieve initialization
|
||||
NLTOT = MIN(NLTOT,NBIN)
|
||||
NRTOT = MIN(NRTOT,NBIN)
|
||||
CALL VZERO(SEL1,13*NBIN+6)
|
||||
CALL VZERO(SEL1,13*NBIN+8)
|
||||
*
|
||||
CALL GZINIT
|
||||
CALL GPART
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
#include "celoss.inc"
|
||||
*
|
||||
DIMENSION XSEL1(NBIN),XSEL1C(NBIN),XSER1(NBIN),XSER1C(NBIN),
|
||||
+ XSEL2(NBIN),XSEL2C(NBIN),XSER2(NBIN),XSER2C(NBIN)
|
||||
|
||||
*
|
||||
+ XSEL2(NBIN),XSEL2C(NBIN),XSER2(NBIN),XSER2C(NBIN)
|
||||
|
||||
DIMENSION EDIST(100),EDISTC(100)
|
||||
*
|
||||
CALL GLAST
|
||||
*
|
||||
@@ -21,7 +21,11 @@
|
||||
*
|
||||
* *** Normalize and print energy distribution
|
||||
XEVENT=IEVENT
|
||||
CNORM = 100./(XEVENT*PKINE(3))
|
||||
CNORM = 100./(XEVENT*PKINE(3))
|
||||
*
|
||||
* *** mean total energy deposit by charged and by neutral
|
||||
EDEPCH = CNORM*EDEPCH
|
||||
EDEPNE = CNORM*EDEPNE
|
||||
*
|
||||
* *** longitudinal profile
|
||||
DO 2 I = 1,NLTOT
|
||||
@@ -67,9 +71,24 @@
|
||||
PRINT 754,B0,B1,XSER1(I),XSER2(I),B1,XSER1C(I),XSER2C(I)
|
||||
16 CONTINUE
|
||||
*
|
||||
* *** normalize histo of energy ditribution of contributing particles
|
||||
* and compute cumulative distribution
|
||||
SUM = HSUM (21)
|
||||
CALL HUNPAK(21,EDIST,'HIST',1)
|
||||
EDIST( 1) = EDIST(1)*100/SUM
|
||||
EDISTC(1) = EDIST(1)
|
||||
DO 17 I=2,100
|
||||
EDIST (I) = EDIST (I)*100/SUM
|
||||
EDISTC(I) = EDISTC(I-1) + EDIST(I)
|
||||
17 CONTINUE
|
||||
CALL HPAK (21,EDIST)
|
||||
CALL HPAK (22,EDISTC)
|
||||
*
|
||||
* *** print summary
|
||||
PRINT 770
|
||||
PRINT 771,XSEL1C(NLTOT),XSEL2C(NLTOT)
|
||||
PRINT 774,EDEPCH
|
||||
PRINT 775,EDEPNE
|
||||
PRINT 772,XTRCH1,XTRCH2
|
||||
PRINT 773,XTRNE1,XTRNE2
|
||||
*
|
||||
@@ -88,7 +107,9 @@
|
||||
770 FORMAT(///,30X,'SUMMARY',/)
|
||||
771 FORMAT( 25X,'energy deposit : ',F7.2,' % E0 +- ',F7.2,' % E0')
|
||||
772 FORMAT( 25X,'charged traklen: ',F7.2,' radl +- ',F7.2,' radl')
|
||||
773 FORMAT( 25X,'neutral traklen: ',F7.2,' radl +- ',F7.2,' radl')
|
||||
773 FORMAT( 25X,'neutral traklen: ',F7.2,' radl +- ',F7.2,' radl')
|
||||
774 FORMAT( 25X,'edep by charged: ',F7.2,' % E0')
|
||||
775 FORMAT( 25X,'edep by neutral: ',F7.2,' % E0')
|
||||
*
|
||||
END
|
||||
|
||||
|
||||
@@ -56,6 +56,16 @@
|
||||
CALL HBPROF(11,'cumul radial energy dep. (in percent of E inc)'
|
||||
*, NRTOT, RMIN,RMAX, 0., 100.,' ')
|
||||
CALL HBOOK1(12,'resolution: cumul R energy dep. (% of E inc)'
|
||||
*, NRTOT, RMIN,RMAX, 0.0)
|
||||
*, NRTOT, RMIN,RMAX, 0.0)
|
||||
|
||||
*
|
||||
* *** Origin of the deposited energy
|
||||
tminlog = -6.
|
||||
tmaxlog = 0.
|
||||
CALL HBOOK1(21,'edep (normalized 100 percent) versus log(ekin/e0)'
|
||||
*, 100, tminlog, tmaxlog, 0.0)
|
||||
CALL HBOOK1(22,'cumul edep (100 percent) versus log(ekin/e0)'
|
||||
*, 100, tminlog, tmaxlog, 0.0)
|
||||
|
||||
*
|
||||
END
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2RunAction.hh,v 1.5 2000/12/07 12:14:06 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2RunAction.hh,v 1.7 2001/03/08 14:28:14 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
// 08.03.01 Hisaya: Adapted MyVector for STL
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -24,8 +26,9 @@
|
||||
#include "G4Positron.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include "g4rw/tvvector.h"
|
||||
typedef G4RWTValVector<G4double> MyVector;
|
||||
#include "g4std/vector"
|
||||
|
||||
typedef G4std::vector<G4double> MyVector;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -35,6 +38,11 @@ class Em2RunActionMessenger;
|
||||
|
||||
class G4Run;
|
||||
|
||||
#ifndef G4NOHIST
|
||||
class HepTupleManager;
|
||||
class HepHistogram;
|
||||
#endif
|
||||
|
||||
class Em2RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
@@ -91,7 +99,16 @@ class Em2RunAction : public G4UserRunAction
|
||||
G4double sum2NeutrTrLength;
|
||||
|
||||
Em2RunActionMessenger* runMessenger;
|
||||
G4int saveRndm;
|
||||
G4int saveRndm;
|
||||
|
||||
#ifndef G4NOHIST
|
||||
HepTupleManager* hbookManager;
|
||||
HepHistogram *histo1, *histo2, *histo3;
|
||||
HepHistogram *histo4, *histo5, *histo6;
|
||||
HepHistogram *histo7, *histo8, *histo9;
|
||||
HepHistogram *hist10, *hist11, *hist12;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -101,10 +118,10 @@ void Em2RunAction::initializePerEvent()
|
||||
{
|
||||
//initialize arrays of energy deposit per bin
|
||||
for (G4int i=0; i<nLbin; i++)
|
||||
{ dEdL(i) = 0.; }
|
||||
{ dEdL[i] = 0.; }
|
||||
|
||||
for (G4int j=0; j<nRbin; j++)
|
||||
{ dEdR(j) = 0.; }
|
||||
{ dEdR[j] = 0.; }
|
||||
|
||||
//initialize tracklength
|
||||
ChargTrLength = NeutrTrLength = 0.;
|
||||
@@ -124,7 +141,7 @@ void Em2RunAction::fillPerTrack(G4double charge, G4double trkLength)
|
||||
inline
|
||||
void Em2RunAction::fillPerStep(G4double dEstep, G4int Lbin, G4int Rbin)
|
||||
{
|
||||
dEdL(Lbin) += dEstep; dEdR(Rbin) += dEstep;
|
||||
dEdL[Lbin] += dEstep; dEdR[Rbin] += dEstep;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -132,9 +149,9 @@ void Em2RunAction::fillPerStep(G4double dEstep, G4int Lbin, G4int Rbin)
|
||||
inline
|
||||
void Em2RunAction::particleFlux(G4ParticleDefinition* particle, G4int Lplan)
|
||||
{
|
||||
if (particle == G4Gamma::Gamma()) gammaFlux(Lplan)++;
|
||||
else if (particle == G4Electron::Electron()) electronFlux(Lplan)++;
|
||||
else if (particle == G4Positron::Positron()) positronFlux(Lplan)++;
|
||||
if (particle == G4Gamma::Gamma()) gammaFlux[Lplan]++;
|
||||
else if (particle == G4Electron::Electron()) electronFlux[Lplan]++;
|
||||
else if (particle == G4Positron::Positron()) positronFlux[Lplan]++;
|
||||
}
|
||||
|
||||
//....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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2SteppingVerbose.hh,v 1.4 2000/12/06 14:12:16 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2SteppingVerbose.hh,v 1.5 2001/02/19 14:06:06 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
// This class manages the verbose outputs in G4SteppingManager.
|
||||
// It inherits from G4SteppingVerbose.
|
||||
@@ -15,8 +15,6 @@
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
class Em2SteppingVerbose;
|
||||
|
||||
#ifndef Em2SteppingVerbose_h
|
||||
#define Em2SteppingVerbose_h 1
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2EventAction.cc,v 1.2 1999/12/15 14:49:00 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2EventAction.cc,v 1.3 2001/02/20 15:58:35 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -45,10 +45,20 @@ Em2EventAction::~Em2EventAction()
|
||||
|
||||
void Em2EventAction::BeginOfEventAction(const G4Event* evt)
|
||||
{
|
||||
G4int evtNb = evt->GetEventID();
|
||||
if (evtNb%printModulo == 0)
|
||||
G4cout << "\n---> Begin Of Event: " << evtNb << G4endl;
|
||||
G4int evtNb = evt->GetEventID();
|
||||
|
||||
//printing survey
|
||||
if (evtNb%printModulo == 0)
|
||||
G4cout << "\n---> Begin of Event: " << evtNb << G4endl;
|
||||
|
||||
//save rndm status
|
||||
if (Em2Run->GetRndmFreq() == 2)
|
||||
{
|
||||
HepRandom::saveEngineStatus("beginOfEvent.rndm");
|
||||
if (evtNb%printModulo == 0) HepRandom::showEngineStatus();
|
||||
}
|
||||
|
||||
//additional initializations
|
||||
Em2Run->initializePerEvent();
|
||||
}
|
||||
|
||||
@@ -70,18 +80,6 @@ void Em2EventAction::EndOfEventAction(const G4Event* evt)
|
||||
trj->DrawTrajectory(50);
|
||||
}
|
||||
}
|
||||
|
||||
//save rndm status
|
||||
if (Em2Run->GetRndmFreq() == 2)
|
||||
{
|
||||
HepRandom::saveEngineStatus("endOfEvent.rndm");
|
||||
G4int evtNb = evt->GetEventID();
|
||||
if (evtNb%printModulo == 0)
|
||||
{
|
||||
G4cout << "\n---> End of Event: " << evtNb << G4endl;
|
||||
HepRandom::showEngineStatus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2PhysicsList.cc,v 1.5 2000/12/06 14:12:16 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,9 +5,12 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2RunAction.cc,v 1.6 2000/12/07 12:14:07 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2RunAction.cc,v 1.10 2001/03/27 08:58:15 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
// 08.03.01 Hisaya: Adapted MyVector for STL
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -29,6 +32,10 @@
|
||||
|
||||
#include "Randomize.hh"
|
||||
|
||||
#ifndef G4NOHIST
|
||||
#include "CLHEP/Hist/HBookFile.h"
|
||||
#endif
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
Em2RunAction::Em2RunAction(Em2DetectorConstruction* det,
|
||||
@@ -36,25 +43,30 @@ Em2RunAction::Em2RunAction(Em2DetectorConstruction* det,
|
||||
:Em2Det(det),Em2Kin(kin)
|
||||
{
|
||||
nLbin = Em2Det->GetnLtot();
|
||||
dEdL = *new MyVector(nLbin);
|
||||
sumELongit = *new MyVector(nLbin);
|
||||
sumELongitCumul = *new MyVector(nLbin);
|
||||
sumE2Longit = *new MyVector(nLbin);
|
||||
sumE2LongitCumul = *new MyVector(nLbin);
|
||||
dEdL.resize(nLbin, 0.0);
|
||||
sumELongit.resize(nLbin, 0.0);
|
||||
sumELongitCumul.resize(nLbin, 0.0);
|
||||
sumE2Longit.resize(nLbin, 0.0);
|
||||
sumE2LongitCumul.resize(nLbin, 0.0);
|
||||
|
||||
gammaFlux = *new MyVector(nLbin);
|
||||
electronFlux = *new MyVector(nLbin);
|
||||
positronFlux = *new MyVector(nLbin);
|
||||
gammaFlux.resize(nLbin, 0.0);
|
||||
electronFlux.resize(nLbin, 0.0);
|
||||
positronFlux.resize(nLbin, 0.0);
|
||||
|
||||
nRbin = Em2Det->GetnRtot();
|
||||
dEdR = *new MyVector(nRbin);
|
||||
sumERadial = *new MyVector(nRbin);
|
||||
sumERadialCumul = *new MyVector(nRbin);
|
||||
sumE2Radial = *new MyVector(nRbin);
|
||||
sumE2RadialCumul = *new MyVector(nRbin);
|
||||
dEdR.resize(nRbin, 0.0);
|
||||
sumERadial.resize(nRbin, 0.0);
|
||||
sumERadialCumul.resize(nRbin, 0.0);
|
||||
sumE2Radial.resize(nRbin, 0.0);
|
||||
sumE2RadialCumul.resize(nRbin, 0.0);
|
||||
|
||||
runMessenger = new Em2RunActionMessenger(this);
|
||||
saveRndm = 1;
|
||||
saveRndm = 1;
|
||||
|
||||
#ifndef G4NOHIST
|
||||
hbookManager = NULL;
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -68,12 +80,69 @@ Em2RunAction::~Em2RunAction()
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
void Em2RunAction::bookHisto()
|
||||
{}
|
||||
|
||||
{
|
||||
#ifndef G4NOHIST
|
||||
hbookManager = new HBookFile("TestEm2.paw", 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
|
||||
// Write histogram file
|
||||
hbookManager->write();
|
||||
|
||||
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....
|
||||
|
||||
@@ -93,29 +162,34 @@ void Em2RunAction::BeginOfRunAction(const G4Run* aRun)
|
||||
|
||||
G4int nLtot = Em2Det->GetnLtot();
|
||||
if(nLbin != nLtot)
|
||||
{dEdL.reshape(nLbin=nLtot);
|
||||
sumELongit.reshape(nLbin) ; sumE2Longit.reshape(nLbin);
|
||||
sumELongitCumul.reshape(nLbin); sumE2LongitCumul.reshape(nLbin);
|
||||
gammaFlux.reshape(nLbin) ;
|
||||
electronFlux.reshape(nLbin) ; positronFlux.reshape(nLbin);
|
||||
{dEdL.resize(nLbin=nLtot, 0.0);
|
||||
sumELongit.resize(nLbin, 0.0);
|
||||
sumE2Longit.resize(nLbin, 0.0);
|
||||
sumELongitCumul.resize(nLbin, 0.0);
|
||||
sumE2LongitCumul.resize(nLbin, 0.0);
|
||||
gammaFlux.resize(nLbin, 0.0);
|
||||
electronFlux.resize(nLbin, 0.0);
|
||||
positronFlux.resize(nLbin, 0.0);
|
||||
rebin=true;
|
||||
}
|
||||
|
||||
G4int nRtot = Em2Det->GetnRtot();
|
||||
if(nRbin != nRtot)
|
||||
{dEdR.reshape(nRbin=nRtot);
|
||||
sumERadial.reshape(nRbin) ; sumE2Radial.reshape(nRbin);
|
||||
sumERadialCumul.reshape(nRbin); sumE2RadialCumul.reshape(nRbin);
|
||||
{dEdR.resize(nRbin=nRtot, 0.0);
|
||||
sumERadial.resize(nRbin, 0.0);
|
||||
sumE2Radial.resize(nRbin, 0.0);
|
||||
sumERadialCumul.resize(nRbin, 0.0);
|
||||
sumE2RadialCumul.resize(nRbin, 0.0);
|
||||
rebin=true;
|
||||
}
|
||||
|
||||
//initialize arrays of cumulative energy deposition
|
||||
//
|
||||
for (G4int i=0; i<nLbin; i++)
|
||||
sumELongit(i)=sumE2Longit(i)=sumELongitCumul(i)=sumE2LongitCumul(i)=0.;
|
||||
sumELongit[i]=sumE2Longit[i]=sumELongitCumul[i]=sumE2LongitCumul[i]=0.;
|
||||
|
||||
for (G4int j=0; j<nRbin; j++)
|
||||
sumELongit(j)=sumE2Longit(j)=sumELongitCumul(j)=sumE2LongitCumul(j)=0.;
|
||||
sumELongit[j]=sumE2Longit[j]=sumELongitCumul[j]=sumE2LongitCumul[j]=0.;
|
||||
|
||||
//initialize track length
|
||||
sumChargTrLength=sum2ChargTrLength=sumNeutrTrLength=sum2NeutrTrLength=0.;
|
||||
@@ -143,27 +217,39 @@ void Em2RunAction::fillPerEvent()
|
||||
G4double dLCumul = 0.;
|
||||
for (G4int i=0; i<nLbin; i++)
|
||||
{
|
||||
sumELongit(i) += dEdL(i);
|
||||
sumE2Longit(i) += dEdL(i)*dEdL(i);
|
||||
dLCumul += dEdL(i);
|
||||
sumELongitCumul(i) += dLCumul;
|
||||
sumE2LongitCumul(i) += dLCumul*dLCumul;
|
||||
sumELongit[i] += dEdL[i];
|
||||
sumE2Longit[i] += dEdL[i]*dEdL[i];
|
||||
dLCumul += dEdL[i];
|
||||
sumELongitCumul[i] += dLCumul;
|
||||
sumE2LongitCumul[i] += dLCumul*dLCumul;
|
||||
}
|
||||
|
||||
G4double dRCumul = 0.;
|
||||
for (G4int j=0; j<nRbin; j++)
|
||||
{
|
||||
sumERadial(j) += dEdR(j);
|
||||
sumE2Radial(j) += dEdR(j)*dEdR(j);
|
||||
dRCumul += dEdR(j);
|
||||
sumERadialCumul(j) += dRCumul;
|
||||
sumE2RadialCumul(j) += dRCumul*dRCumul;
|
||||
sumERadial[j] += dEdR[j];
|
||||
sumE2Radial[j] += dEdR[j]*dEdR[j];
|
||||
dRCumul += dEdR[j];
|
||||
sumERadialCumul[j] += dRCumul;
|
||||
sumE2RadialCumul[j] += dRCumul*dRCumul;
|
||||
}
|
||||
|
||||
sumChargTrLength += ChargTrLength;
|
||||
sum2ChargTrLength += ChargTrLength*ChargTrLength;
|
||||
sumNeutrTrLength += NeutrTrLength;
|
||||
sum2NeutrTrLength += NeutrTrLength*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
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
@@ -186,42 +272,61 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
//
|
||||
G4double dLradl = Em2Det->GetdLradl();
|
||||
|
||||
MyVector MeanELongit (nLbin), rmsELongit (nLbin);
|
||||
MyVector MeanELongit(nLbin), rmsELongit(nLbin);
|
||||
MyVector MeanELongitCumul(nLbin), rmsELongitCumul(nLbin);
|
||||
|
||||
G4int i; G4double bin;
|
||||
for (i=0; i<nLbin; i++)
|
||||
{
|
||||
MeanELongit(i) = norme*sumELongit(i);
|
||||
rmsELongit(i) = norme*sqrt(abs(NbOfEvents*sumE2Longit(i)
|
||||
- sumELongit(i)*sumELongit(i)));
|
||||
MeanELongit[i] = norme*sumELongit[i];
|
||||
rmsELongit[i] = norme*sqrt(abs(NbOfEvents*sumE2Longit[i]
|
||||
- sumELongit[i]*sumELongit[i]));
|
||||
|
||||
MeanELongitCumul(i) = norme*sumELongitCumul(i);
|
||||
rmsELongitCumul(i) = norme*sqrt(abs(NbOfEvents*sumE2LongitCumul(i)
|
||||
- sumELongitCumul(i)*sumELongitCumul(i)));
|
||||
MeanELongitCumul[i] = norme*sumELongitCumul[i];
|
||||
rmsELongitCumul[i] = norme*sqrt(abs(NbOfEvents*sumE2LongitCumul[i]
|
||||
- sumELongitCumul[i]*sumELongitCumul[i]));
|
||||
|
||||
gammaFlux (i) /= NbOfEvents;
|
||||
electronFlux(i) /= NbOfEvents;
|
||||
positronFlux(i) /= NbOfEvents;
|
||||
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
|
||||
//
|
||||
G4double dRradl = Em2Det->GetdRradl();
|
||||
|
||||
MyVector MeanERadial (nRbin), rmsERadial (nRbin);
|
||||
MyVector MeanERadial(nRbin), rmsERadial(nRbin);
|
||||
MyVector MeanERadialCumul(nRbin), rmsERadialCumul(nRbin);
|
||||
|
||||
for (i=0; i<nRbin; i++)
|
||||
{
|
||||
MeanERadial(i) = norme*sumERadial(i);
|
||||
rmsERadial(i) = norme*sqrt(abs(NbOfEvents*sumE2Radial(i)
|
||||
- sumERadial(i)*sumERadial(i)));
|
||||
MeanERadial[i] = norme*sumERadial[i];
|
||||
rmsERadial[i] = norme*sqrt(abs(NbOfEvents*sumE2Radial[i]
|
||||
- sumERadial[i]*sumERadial[i]));
|
||||
|
||||
MeanERadialCumul(i) = norme*sumERadialCumul(i);
|
||||
rmsERadialCumul(i) = norme*sqrt(abs(NbOfEvents*sumE2RadialCumul(i)
|
||||
- sumERadialCumul(i)*sumERadialCumul(i)));
|
||||
|
||||
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
|
||||
@@ -252,11 +357,11 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
G4double inf=i*dLradl, sup=inf+dLradl;
|
||||
|
||||
G4cout << G4std::setw(8) << inf << "->" << G4std::setw(5) << sup << " radl: "
|
||||
<< G4std::setw(7) << MeanELongit(i) << "% "
|
||||
<< G4std::setw(9) << rmsELongit(i) << "% "
|
||||
<< G4std::setw(7) << MeanELongit[i] << "% "
|
||||
<< G4std::setw(9) << rmsELongit[i] << "% "
|
||||
<< " 0->" << G4std::setw(5) << sup << " radl: "
|
||||
<< G4std::setw(7) << MeanELongitCumul(i) << "% "
|
||||
<< G4std::setw(7) << rmsELongitCumul(i) << "% "
|
||||
<< G4std::setw(7) << MeanELongitCumul[i] << "% "
|
||||
<< G4std::setw(7) << rmsELongitCumul[i] << "% "
|
||||
<<G4endl;
|
||||
}
|
||||
|
||||
@@ -273,18 +378,18 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
G4double inf=i*dRradl, sup=inf+dRradl;
|
||||
|
||||
G4cout << G4std::setw(8) << inf << "->" << G4std::setw(5) << sup << " radl: "
|
||||
<< G4std::setw(7) << MeanERadial(i) << "% "
|
||||
<< G4std::setw(9) << rmsERadial(i) << "% "
|
||||
<< G4std::setw(7) << MeanERadial[i] << "% "
|
||||
<< G4std::setw(9) << rmsERadial[i] << "% "
|
||||
<< " 0->" << G4std::setw(5) << sup << " radl: "
|
||||
<< G4std::setw(7) << MeanERadialCumul(i) << "% "
|
||||
<< G4std::setw(7) << rmsERadialCumul(i) << "% "
|
||||
<< G4std::setw(7) << MeanERadialCumul[i] << "% "
|
||||
<< G4std::setw(7) << rmsERadialCumul[i] << "% "
|
||||
<<G4endl;
|
||||
}
|
||||
G4cout << G4endl;
|
||||
G4cout << G4std::setw(37) << "SUMMARY" << G4endl;
|
||||
G4cout << G4std::setw(42) << "energy deposit : "
|
||||
<< G4std::setw(7) << MeanELongitCumul(nLbin-1) << " % E0 +- "
|
||||
<< G4std::setw(7) << rmsELongitCumul(nLbin-1) << " % E0" << G4endl;
|
||||
<< G4std::setw(7) << MeanELongitCumul[nLbin-1] << " % E0 +- "
|
||||
<< G4std::setw(7) << rmsELongitCumul[nLbin-1] << " % E0" << G4endl;
|
||||
G4cout << G4std::setw(42) << "charged traklen: "
|
||||
<< G4std::setw(7) << MeanChargTrLength << " radl +- "
|
||||
<< G4std::setw(7) << rmsChargTrLength << " radl" << G4endl;
|
||||
@@ -297,7 +402,7 @@ void Em2RunAction::EndOfRunAction(const G4Run* aRun)
|
||||
G4cout.precision(oldprec);
|
||||
|
||||
// save Rndm status
|
||||
if (saveRndm == 1)
|
||||
if (saveRndm > 0)
|
||||
{ HepRandom::showEngineStatus();
|
||||
HepRandom::saveEngineStatus("endOfRun.rndm");
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2RunActionMessenger.cc,v 1.3 2000/01/21 10:56:16 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2RunActionMessenger.cc,v 1.4 2001/02/20 15:58:36 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -35,8 +35,8 @@ Em2RunActionMessenger::Em2RunActionMessenger(Em2RunAction* run)
|
||||
RndmSaveCmd->SetGuidance("set frequency to save rndm status on external files.");
|
||||
RndmSaveCmd->SetGuidance("freq = 0 not saved");
|
||||
RndmSaveCmd->SetGuidance("freq > 0 saved on: beginOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 1 saved on: endOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 2 saved on: endOfEvent.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq > 0 saved on: endOfRun.rndm");
|
||||
RndmSaveCmd->SetGuidance("freq = 2 saved on: beginOfEvent.rndm");
|
||||
RndmSaveCmd->SetParameterName("frequency",false);
|
||||
RndmSaveCmd->SetRange("frequency>=0 && frequency<=2");
|
||||
RndmSaveCmd->AvailableForStates(PreInit,Idle);
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: Em2SteppingVerbose.cc,v 1.4 2000/12/06 14:12:16 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-00 $
|
||||
// $Id: Em2SteppingVerbose.cc,v 1.6 2001/02/19 14:06:36 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
@@ -46,7 +46,7 @@ void Em2SteppingVerbose::StepInfo()
|
||||
<< G4std::setw( 9) << "dEStep" << " "
|
||||
<< G4std::setw(10) << "StepLeng"
|
||||
<< G4std::setw(10) << "TrakLeng"
|
||||
<< G4std::setw(10) << "NextVolu"
|
||||
<< G4std::setw(10) << "Volume" << " "
|
||||
<< G4std::setw(10) << "Process" << G4endl;
|
||||
}
|
||||
|
||||
@@ -61,16 +61,17 @@ void Em2SteppingVerbose::StepInfo()
|
||||
|
||||
// if( fStepStatus != fWorldBoundary){
|
||||
if( fTrack->GetNextVolume() != 0 ) {
|
||||
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName();
|
||||
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
|
||||
} else {
|
||||
G4cout << G4std::setw(10) << "OutOfWorld";
|
||||
}
|
||||
|
||||
if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL){
|
||||
G4cout << G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
|
||||
->GetProcessName();
|
||||
G4cout << " "
|
||||
<< G4std::setw(10) << fStep->GetPostStepPoint()->GetProcessDefinedStep()
|
||||
->GetProcessName();
|
||||
} else {
|
||||
G4cout << "User Limit";
|
||||
G4cout << " UserLimit";
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
@@ -86,12 +87,12 @@ void Em2SteppingVerbose::StepInfo()
|
||||
<< ",Along=" << G4std::setw(2) << fN2ndariesAlongStepDoIt
|
||||
<< ",Post=" << G4std::setw(2) << fN2ndariesPostStepDoIt
|
||||
<< "), "
|
||||
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).entries()
|
||||
<< "#SpawnTotal=" << G4std::setw(3) << (*fSecondary).size()
|
||||
<< " ---------------"
|
||||
<< G4endl;
|
||||
|
||||
for(G4int lp1=(*fSecondary).entries()-tN2ndariesTot;
|
||||
lp1<(*fSecondary).entries(); lp1++){
|
||||
for(G4int lp1=(*fSecondary).size()-tN2ndariesTot;
|
||||
lp1<(*fSecondary).size(); lp1++){
|
||||
G4cout << " : "
|
||||
<< G4std::setw(6)
|
||||
<< G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length")
|
||||
@@ -115,8 +116,8 @@ void Em2SteppingVerbose::StepInfo()
|
||||
|
||||
}
|
||||
G4cout.precision(prec);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
|
||||
|
||||
void Em2SteppingVerbose::TrackingStarted()
|
||||
@@ -134,7 +135,7 @@ G4int prec = G4cout.precision(3);
|
||||
<< G4std::setw( 9) << "dEStep" << " "
|
||||
<< G4std::setw(10) << "StepLeng"
|
||||
<< G4std::setw(10) << "TrakLeng"
|
||||
<< G4std::setw(10) << "NextVolu"
|
||||
<< G4std::setw(10) << "Volume" << " "
|
||||
<< G4std::setw(10) << "Process" << G4endl;
|
||||
|
||||
G4cout << G4std::setw( 5) << fTrack->GetCurrentStepNumber() << " "
|
||||
@@ -147,13 +148,13 @@ G4int prec = G4cout.precision(3);
|
||||
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
|
||||
|
||||
if(fTrack->GetNextVolume()){
|
||||
G4cout << G4std::setw(10) << fTrack->GetNextVolume()->GetName() << " ";
|
||||
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
|
||||
} else {
|
||||
G4cout << G4std::setw(10) << "OutOfWorld" << " ";
|
||||
G4cout << G4std::setw(10) << "OutOfWorld";
|
||||
}
|
||||
G4cout << G4std::setw(10) << "initStep" << G4endl;
|
||||
G4cout << " 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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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-03-00 $
|
||||
// GEANT4 tag $Name: geant4-03-01 $
|
||||
//
|
||||
//
|
||||
// John Allison 24th January 1998.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.4 2000/12/07 12:38:24 maire Exp $
|
||||
# $Id: GNUmakefile,v 1.5 2001/02/21 11:17:02 maire Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -16,4 +16,12 @@ all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
G4NOHIST := true
|
||||
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/12/07 12:38:24 maire Exp $
|
||||
$Id: History,v 1.7 2001/03/26 16:01:57 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,26 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
26-03-01 mma (testem3-V03-00-04)
|
||||
- change in histogramming : 1d histo of Edep/Ebeam
|
||||
in each absorber instead of ntuple, both in G4 and G3.
|
||||
- interactive command /run/setHisto (in G4) and ffread
|
||||
data card *histo (in G3) to control the binning of the
|
||||
histos.
|
||||
- in G3, new data card cutpr to set bcute, dcute, ppcutm for
|
||||
each tracking medium
|
||||
- in gnumakefile : the cpp flag g4nohist=true by default.
|
||||
--> no histograms in G4 by default.
|
||||
|
||||
|
||||
21-02-01 mma (testem3-V03-00-03)
|
||||
- hbook histograms restored
|
||||
|
||||
20-02-01 mma (testem3-V03-00-02)
|
||||
-stepping verbose adapted for STL
|
||||
-BirkAttenuation function
|
||||
-save rndm at begin of event
|
||||
|
||||
07-12-00 mma (testem3-V02-00-03 & testem-noHist)
|
||||
remove hbook histograms: GNUmakefile,runAction,eventAction
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.2 2000/01/21 09:11:04 maire Exp $
|
||||
$Id: README,v 1.4 2001/03/30 12:39:56 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -111,16 +111,19 @@ $Id: README,v 1.2 2000/01/21 09:11:04 maire Exp $
|
||||
....
|
||||
Idle> exit
|
||||
|
||||
7- NTUPLE
|
||||
7- Histograms
|
||||
|
||||
Testem3 produce an Ntuple which is saved as testem3.histo
|
||||
|
||||
Content of this Ntuple:
|
||||
Testem3 produces histograms which are saved as testem3.paw :
|
||||
histo 1 : energy deposit in absorber 0 (edep/Ebeam)
|
||||
histo 2 : energy deposit in absorber 1 (edep/Ebeam)
|
||||
...etc...........
|
||||
|
||||
EAbs0 = energy deposit in absorber[0] per event
|
||||
LAbs0 = charged track length in absorber[0] per event
|
||||
........
|
||||
EAbsN = energy deposit in absorber[N] per event
|
||||
LAbsN = charged track length in absorber[N] per event
|
||||
|
||||
|
||||
One can control the binning of the histo with the command:
|
||||
/run/setHisto idAbsor nbin vmin vmax
|
||||
...etc...........
|
||||
|
||||
Note that, histograms are disabled via the flag G4NOHIST in the GNUmakefile.
|
||||
Currently, histograms in this example are implemented through the obsolete
|
||||
CLHEP/Hist package, which is no longer supported. The implementation will
|
||||
be replaced by direct call to the "analysis" module in a near future.
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user