Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
+24 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.50 2002/06/25 10:19:41 ribon Exp $
$Id: History,v 1.58 2003/03/25 17:13:07 maire Exp $
--------------------------------------------------
=========================================================
@@ -14,6 +14,29 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
25-03-03 mma (exampleN03-V05-00-05)
- Use G4PVPlacement and G4PVReplica constructors in logical mother.
20-02-03 V.Ivant (exampleN03-V05-00-04)
- Migrade to cut per region
11-02-03 mma (exampleN03-V05-00-03)
- DetectorConstruction : change names of volumes
30-01-03 mma (exampleN03-V05-00-02)
- save random number seed. In README explain the rndm handling.
commit rndmSeed.mac to show how to save and reset rndm seed
18-12-02 mma (exampleN03-V05-00-01)
- code for smooth trajectory put in DetectorContruction::SetMagField()
and TrackingAction::PreUserTrackingAction()
16-12-02 mma (exampleN03-V05-00-00)
- UI directory /N03/
19-11-02 jacek
- introducing smooth trajectory display
25-06-02 ribon (exampleN03-V04-00-02)
- fixed paths to macros in visTutor/gui.mac.
+30 -3
View File
@@ -1,4 +1,4 @@
$Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
$Id: README,v 1.10 2003/01/30 14:14:17 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -117,7 +117,34 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
As a homework try to visualize a gamma conversion alone,
or the effect of the multiple scattering.
6- USER INTERFACES
6- RANDOM NUMBERS HANDLING
CLHEP provides several random number engines. In this example the Ranecu
engine is choosen at beginning of the main (exampleN03.cc).
By default, G4RunManager does not save the rndm seed.
To do so the user must set in BeginOfRunAction:
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
Then the rndm seed is systematically saved at beginning of run
(currentRun.rndm) and beginning of event (currentEvent.rndm)
Therefore, in case of abnormal end, the seed of the last event processed
is available in currentEvent.rndm
Even in case of normal run processing, the user may wish to preserve the
rndm seed of selected events. At any time in the event, put the
following statement:
if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
currentEvent.rndm will be copied to runXXevntYY.rndm
(see ExN03SteppingAction::UserSteppingAction() )
To restart a run from a given rndm seed, use the UI command :
/random/resetEngineFrom fileName
The macro rndmSeed.mac shows how to save and reset the random number
seed between runs, with UI commands.
7- USER INTERFACES
The default command interface, called G4UIterminal, is done via
standart cin/G4cout.
@@ -129,7 +156,7 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
2- exampleN03.cc has been compiled with G4UI_USE_XM.
7- HOW TO START ?
8- HOW TO START ?
- compile and link to generate an executable
% cd N03
+10 -10
View File
@@ -21,17 +21,12 @@
// ********************************************************************
//
//
// $Id: exampleN03.cc,v 1.16 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: exampleN03.cc,v 1.18 2002/12/18 15:17:55 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// --------------------------------------------------------------
// GEANT 4 - exampleN03
//
// --------------------------------------------------------------
// Comments
//
// --------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4RunManager.hh"
#include "G4UImanager.hh"
@@ -54,8 +49,11 @@
#include "ExN03RunAction.hh"
#include "ExN03EventAction.hh"
#include "ExN03SteppingAction.hh"
#include "ExN03TrackingAction.hh"
#include "ExN03SteppingVerbose.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
// choose the Random engine
@@ -98,6 +96,7 @@ int main(int argc,char** argv) {
runManager->SetUserAction(new ExN03PrimaryGeneratorAction(detector));
runManager->SetUserAction(new ExN03RunAction);
runManager->SetUserAction(new ExN03EventAction);
runManager->SetUserAction(new ExN03TrackingAction);
runManager->SetUserAction(new ExN03SteppingAction);
//Initialize G4 kernel
@@ -133,3 +132,4 @@ int main(int argc,char** argv) {
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+7 -7
View File
@@ -15,13 +15,13 @@
/process/activate msc
#
# change detector parameter
/calor/setAbsMat Aluminium
/calor/setGapMat Aerogel
/calor/setAbsThick 2. cm
/calor/setGapThick 5. cm
/calor/setNbOfLayers 30
/calor/setSizeYZ 1.5 m
/calor/update
/N03/det/setAbsMat Aluminium
/N03/det/setGapMat Aerogel
/N03/det/setAbsThick 2. cm
/N03/det/setGapThick 5. cm
/N03/det/setNbOfLayers 30
/N03/det/setSizeYZ 1.5 m
/N03/det/update
/gun/particle gamma
/gun/energy 500 MeV
/run/beamOn 1
+8 -8
View File
@@ -15,16 +15,16 @@
/process/activate msc
#
# change detector parameter
/calor/setAbsMat Aluminium
/calor/setGapMat Aerogel
/calor/setAbsThick 2. cm
/calor/setGapThick 5. cm
/calor/setNbOfLayers 30
/calor/setSizeYZ 1.5 m
/calor/update
/N03/det/setAbsMat Aluminium
/N03/det/setGapMat Aerogel
/N03/det/setAbsThick 2. cm
/N03/det/setGapThick 5. cm
/N03/det/setNbOfLayers 30
/N03/det/setSizeYZ 1.5 m
/N03/det/update
#
/gun/particle gamma
/gun/energy 500 MeV
/event/printModulo 500
/N03/event/printModulo 500
/run/beamOn 5000
exit
+104 -43
View File
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
Visualization Manager instantiating...
@@ -18,7 +18,7 @@ Current available graphics systems are:
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
***** Table : Nb of materials = 12 *****
***** Table : Nb of materials = 13 *****
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 %
@@ -37,6 +37,11 @@ Current available graphics systems are:
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 91.45 % Abundance 47.37 %
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 8.55 % Abundance 52.63 %
Material: Mylar density: 1.397 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.599 cm
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 62.49 % Abundance 45.45 %
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 4.20 % Abundance 36.36 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 33.30 % Abundance 18.18 %
Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm
---> Element: Silicon Si Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 46.75 % Abundance 33.33 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 53.25 % Abundance 66.67 %
@@ -90,7 +95,8 @@ msc: Tables of transport mean free paths.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -106,6 +112,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -129,35 +136,32 @@ MuBrems: theoretical cross section
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-
Cut in range
Aluminium 1 mm 1 mm
liquidArgon 1 mm 1 mm
Lead 1 mm 1 mm
Water 1 mm 1 mm
Scintillator 1 mm 1 mm
quartz 1 mm 1 mm
Air 1 mm 1 mm
Aerogel 1 mm 1 mm
CarbonicGas 1 mm 1 mm
WaterSteam 1 mm 1 mm
Galactic 1 mm 1 mm
Beam 1 mm 1 mm
Cut in energy
Aluminium 6.89 keV 597 keV
liquidArgon 6.18 keV 343 keV
Lead 101 keV 1.38 MeV
Water 2.9 keV 347 keV
Scintillator 2.37 keV 356 keV
quartz 5.52 keV 534 keV
Air 990 eV 990 eV
Aerogel 1.71 keV 119 keV
CarbonicGas 990 eV 36.5 keV
WaterSteam 990 eV 990 eV
Galactic 990 eV 990 eV
Beam 990 eV 990 eV
===================================================
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Galactic
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes recalculation needed : No
Material : Lead
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : Yes recalculation needed : No
Material : liquidArgon
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
---> Begin of event: 0
@@ -167,8 +171,8 @@ Cut in energy
Current couple of seeds = 9876, 54321
----------------------------------------
---> End of event: 0
Absorber: total energy: 271.238 MeV total track length: 18.8504 cm
Gap: total energy: 8.40916 MeV total track length: 4.16209 cm
Absorber: total energy: 280.969 MeV total track length: 19.1263 cm
Gap: total energy: 15.6581 MeV total track length: 7.72188 cm
9 hits are stored in ExN03CalorHitsCollection.
Transportation, hIoni, msc, eIoni
@@ -181,13 +185,13 @@ Cut in energy
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 594012148, 523050693
Current couple of seeds = 1882600825, 646183068
----------------------------------------
---> End of event: 0
Absorber: total energy: 266.99 MeV total track length: 18.6743 cm
Gap: total energy: 20.1124 MeV total track length: 9.65901 cm
Absorber: total energy: 279.503 MeV total track length: 19.5074 cm
Gap: total energy: 18.0413 MeV total track length: 8.92458 cm
10 hits are stored in ExN03CalorHitsCollection.
9 hits are stored in ExN03CalorHitsCollection.
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of Aluminium + 5mm of liquidArgon ]
@@ -200,18 +204,75 @@ Cut in energy
------------------------------------------------------------
---> The calorimeter is 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ]
------------------------------------------------------------
conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z.
e+e- energies according Bethe-Heitler
PhysicsTables from 1.022 MeV to 100 GeV in 100 bins.
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
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.
annihil: Total cross section from Heilter formula(annihilation into 2 photons).
gamma energies sampled according Heitler
PhysicsTables from 10 keV to 10 TeV in 100 bins.
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuBrems: theoretical cross section
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
### Run 2 start.
---> Begin of event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 696574897, 750246800
Current couple of seeds = 802021539, 124830767
----------------------------------------
---> End of event: 0
Absorber: total energy: 408.79 MeV total track length: 96.801 cm
Gap: total energy: 68.9387 MeV total track length: 1.95423 m
Absorber: total energy: 373.452 MeV total track length: 90.026 cm
Gap: total energy: 77.4747 MeV total track length: 2.1498 m
21 hits are stored in ExN03CalorHitsCollection.
28 hits are stored in ExN03CalorHitsCollection.
Graphics systems deleted.
Visualization Manager deleting...
+8 -8
View File
@@ -1,4 +1,4 @@
# $Id: exo1.mac,v 1.1 2002/02/14 14:35:01 maire Exp $
# $Id: exo1.mac,v 1.2 2002/12/16 16:37:25 maire Exp $
#
# Macro file for "exampleN03.cc"
#
@@ -8,17 +8,17 @@
# Idle> /control/execute exo1.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Aluminium
/calor/setAbsThick 10 cm
/N03/det/setAbsMat Aluminium
/N03/det/setAbsThick 10 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 10 cm
/N03/det/setSizeYZ 10 cm
#
/calor/update
/N03/det/update
#
/vis/viewer/zoom 1.3
#
+8 -8
View File
@@ -1,4 +1,4 @@
# $Id: exo2.mac,v 1.1 2002/02/14 14:35:01 maire Exp $
# $Id: exo2.mac,v 1.2 2002/12/16 16:37:25 maire Exp $
#
# Macro file for "exampleN03.cc"
#
@@ -8,17 +8,17 @@
# Idle> /control/execute exo2.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Aluminium
/calor/setAbsThick 10 cm
/N03/det/setAbsMat Aluminium
/N03/det/setAbsThick 10 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 10 cm
/N03/det/setSizeYZ 10 cm
#
/calor/update
/N03/det/update
#
/vis/viewer/zoom 1.3
#
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorHit.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorimeterSD.hh,v 1.4 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03DetectorConstruction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -55,7 +55,8 @@ class ExN03DetectorMessenger: public G4UImessenger
private:
ExN03DetectorConstruction* ExN03Detector;
G4UIdirectory* ExN03detDir;
G4UIdirectory* N03Dir;
G4UIdirectory* detDir;
G4UIcmdWithAString* AbsMaterCmd;
G4UIcmdWithAString* GapMaterCmd;
G4UIcmdWithADoubleAndUnit* AbsThickCmd;
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03EventAction.hh,v 1.7 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventActionMessenger.hh,v 1.6 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventActionMessenger.hh,v 1.7 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -36,6 +36,7 @@
#include "G4UImessenger.hh"
class ExN03EventAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
@@ -50,8 +51,9 @@ class ExN03EventActionMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03EventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
ExN03EventAction* eventAction;
G4UIdirectory* eventDir;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
};
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PhysicsList.hh,v 1.10 2002/03/08 10:48:30 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PrimaryGeneratorAction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -36,6 +36,7 @@
#include "globals.hh"
class ExN03PrimaryGeneratorAction;
class G4UIdirectory;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -49,7 +50,8 @@ class ExN03PrimaryGeneratorMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03PrimaryGeneratorAction* ExN03Action;
ExN03PrimaryGeneratorAction* ExN03Action;
G4UIdirectory* gunDir;
G4UIcmdWithAString* RndmCmd;
};
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03RunAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03SteppingAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03SteppingVerbose.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,54 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: ExN03TrackingAction.hh,v 1.2 2002/12/18 15:17:56 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef ExN03TrackingAction_h
#define ExN03TrackingAction_h
#include "G4UserTrackingAction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4Track;
class ExN03TrackingAction : public G4UserTrackingAction
{
public:
ExN03TrackingAction() {;}
~ExN03TrackingAction() {;}
void PreUserTrackingAction (const G4Track* aTrack);
void PostUserTrackingAction(const G4Track* aTrack) {;}
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03VisManager.hh,v 1.6 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+8 -8
View File
@@ -7,18 +7,18 @@
# Idle> /control/execute newgeom.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Water
/calor/setAbsThick 40 cm
/N03/det/setAbsMat Water
/N03/det/setAbsThick 40 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 40 cm
/N03/det/setSizeYZ 40 cm
#
/calor/update
/N03/det/update
#
/calor/setField 3 tesla
/N03/det/setField 3 tesla
#
/vis/viewer/zoom 1.3
+34
View File
@@ -0,0 +1,34 @@
# $Id: rndmSeed.mac,v 1.1 2003/01/27 17:55:47 maire Exp $
#
# This macro illustrates how to save and reset the random number seed
#
# inform the RunManager to systematically save the seed
#
/random/setSavingFlag 1
#
# run 0
#
/run/beamOn 7
#look at what is saved
/control/shell ls
#
# run 1
#
/run/beamOn
#save the seed of this current run
/random/saveThisRun
/control/shell ls
#
# run 2
#
/run/beamOn 4
#
# restart run 2
#
/random/resetEngineFrom currentRun.rndm
/run/beamOn 4
#
# restart run 1
#
/random/resetEngineFrom run1.rndm
/run/beamOn
+3 -3
View File
@@ -1,4 +1,4 @@
# $Id: run2.mac,v 1.5 2000/11/21 10:59:43 maire Exp $
# $Id: run2.mac,v 1.6 2002/12/16 16:37:25 maire Exp $
#
# Macro file of "exampleN03.cc"
#
@@ -14,8 +14,8 @@
#
# shoot randomly 20 events
#
/event/printModulo 5
/gun/random on
/N03/event/printModulo 5
/N03/gun/rndm on
/run/beamOn 20
#
# activate/inactivate physic processes
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorHit.cc,v 1.5 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorimeterSD.cc,v 1.6 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorConstruction.cc,v 1.11 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorConstruction.cc,v 1.15 2003/03/25 17:13:08 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -39,9 +39,11 @@
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4PVReplica.hh"
#include "G4UniformMagField.hh"
#include "G4FieldManager.hh"
#include "G4UniformMagField.hh"
#include "G4TransportationManager.hh"
#include "G4IdentityTrajectoryFilter.hh"
#include "G4PropagatorInField.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
@@ -158,6 +160,12 @@ G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2);
Sci->AddElement(C, natoms=9);
Sci->AddElement(H, natoms=10);
density = 1.397*g/cm3;
G4Material* Myl = new G4Material(name="Mylar", density, ncomponents=3);
Myl->AddElement(C, natoms=10);
Myl->AddElement(H, natoms= 8);
Myl->AddElement(O, natoms= 4);
density = 2.200*g/cm3;
G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2);
SiO2->AddElement(Si, natoms=1);
@@ -245,8 +253,8 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
physiWorld = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicWorld, //its logical volume
"World", //its name
logicWorld, //its logical volume
0, //its mother volume
false, //no boolean operation
0); //copy number
@@ -267,9 +275,9 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
physiCalor = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicCalor, //its logical volume
"Calorimeter", //its name
logicCalor, //its logical volume
physiWorld, //its mother volume
logicWorld, //its mother volume
false, //no boolean operation
0); //copy number
@@ -285,16 +293,16 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
if (NbOfLayers > 1)
physiLayer = new G4PVReplica("Layer", //its name
logicLayer, //its logical volume
physiCalor, //its mother
logicCalor, //its mother
kXAxis, //axis of replication
NbOfLayers, //number of replica
LayerThickness); //witdth of replica
else
physiLayer = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicLayer, //its logical volume
"Layer", //its name
logicLayer, //its logical volume
physiCalor, //its mother volume
logicCalor, //its mother volume
false, //no boolean operation
0); //copy number
}
@@ -310,13 +318,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid
AbsorberMaterial, //its material
"Absorber"); //its name
AbsorberMaterial->GetName()); //name
physiAbsorber = new G4PVPlacement(0, //no rotation
G4ThreeVector(-GapThickness/2,0.,0.), //its position
"Absorber", //its name
logicAbsorber, //its logical volume
physiLayer, //its mother
logicAbsorber, //its logical volume
AbsorberMaterial->GetName(), //its name
logicLayer, //its mother
false, //no boulean operat
0); //copy number
@@ -333,13 +341,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
logicGap = new G4LogicalVolume(solidGap,
GapMaterial,
"Gap");
GapMaterial->GetName());
physiGap = new G4PVPlacement(0, //no rotation
G4ThreeVector(AbsorberThickness/2,0.,0.), //its position
"Gap", //its name
logicGap, //its logical volume
physiLayer, //its mother
logicGap, //its logical volume
GapMaterial->GetName(), //its name
logicLayer, //its mother
false, //no boulean operat
0); //copy number
}
@@ -457,6 +465,8 @@ void ExN03DetectorConstruction::SetMagField(G4double fieldValue)
{ magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
fieldMgr->SetDetectorField(magField);
fieldMgr->CreateChordFinder(magField);
G4TransportationManager::GetTransportationManager()->GetPropagatorInField()
->SetTrajectoryFilter(new G4IdentityTrajectoryFilter);
} else {
magField = 0;
fieldMgr->SetDetectorField(magField);
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -44,53 +44,56 @@ ExN03DetectorMessenger::ExN03DetectorMessenger(
ExN03DetectorConstruction* ExN03Det)
:ExN03Detector(ExN03Det)
{
ExN03detDir = new G4UIdirectory("/calor/");
ExN03detDir->SetGuidance("ExN03 detector control.");
AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this);
N03Dir = new G4UIdirectory("/N03/");
N03Dir->SetGuidance("UI commands of this example");
detDir = new G4UIdirectory("/N03/det/");
detDir->SetGuidance("detector control");
AbsMaterCmd = new G4UIcmdWithAString("/N03/det/setAbsMat",this);
AbsMaterCmd->SetGuidance("Select Material of the Absorber.");
AbsMaterCmd->SetParameterName("choice",false);
AbsMaterCmd->AvailableForStates(G4State_Idle);
GapMaterCmd = new G4UIcmdWithAString("/calor/setGapMat",this);
GapMaterCmd = new G4UIcmdWithAString("/N03/det/setGapMat",this);
GapMaterCmd->SetGuidance("Select Material of the Gap.");
GapMaterCmd->SetParameterName("choice",false);
GapMaterCmd->AvailableForStates(G4State_Idle);
AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this);
AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setAbsThick",this);
AbsThickCmd->SetGuidance("Set Thickness of the Absorber");
AbsThickCmd->SetParameterName("Size",false);
AbsThickCmd->SetRange("Size>=0.");
AbsThickCmd->SetUnitCategory("Length");
AbsThickCmd->AvailableForStates(G4State_Idle);
GapThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGapThick",this);
GapThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setGapThick",this);
GapThickCmd->SetGuidance("Set Thickness of the Gap");
GapThickCmd->SetParameterName("Size",false);
GapThickCmd->SetRange("Size>=0.");
GapThickCmd->SetUnitCategory("Length");
GapThickCmd->AvailableForStates(G4State_Idle);
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this);
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setSizeYZ",this);
SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter");
SizeYZCmd->SetParameterName("Size",false);
SizeYZCmd->SetRange("Size>0.");
SizeYZCmd->SetUnitCategory("Length");
SizeYZCmd->AvailableForStates(G4State_Idle);
NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this);
NbLayersCmd = new G4UIcmdWithAnInteger("/N03/det/setNbOfLayers",this);
NbLayersCmd->SetGuidance("Set number of layers.");
NbLayersCmd->SetParameterName("NbLayers",false);
NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500");
NbLayersCmd->AvailableForStates(G4State_Idle);
UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this);
UpdateCmd = new G4UIcmdWithoutParameter("/N03/det/update",this);
UpdateCmd->SetGuidance("Update calorimeter geometry.");
UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
UpdateCmd->SetGuidance("if you changed geometrical value(s).");
UpdateCmd->AvailableForStates(G4State_Idle);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setField",this);
MagFieldCmd->SetGuidance("Define magnetic field.");
MagFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
MagFieldCmd->SetParameterName("Bz",false);
@@ -107,7 +110,8 @@ ExN03DetectorMessenger::~ExN03DetectorMessenger()
delete AbsThickCmd; delete GapThickCmd;
delete SizeYZCmd; delete UpdateCmd;
delete MagFieldCmd;
delete ExN03detDir;
delete detDir;
delete N03Dir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventAction.cc,v 1.16 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventAction.cc,v 1.17 2003/02/10 18:39:49 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventActionMessenger.cc,v 1.8 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventActionMessenger.cc,v 1.9 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03EventActionMessenger.hh"
#include "ExN03EventAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "globals.hh"
@@ -40,8 +41,11 @@
ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
:eventAction(EvAct)
{
DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this);
{
eventDir = new G4UIdirectory("/N03/event/");
eventDir->SetGuidance("event control");
DrawCmd = new G4UIcmdWithAString("/N03/event/drawTracks",this);
DrawCmd->SetGuidance("Draw the tracks in the event");
DrawCmd->SetGuidance(" Choice : none, charged(default),neutral, all");
DrawCmd->SetParameterName("choice",true);
@@ -49,7 +53,7 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
DrawCmd->SetCandidates("none charged neutral all");
DrawCmd->AvailableForStates(G4State_Idle);
PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this);
PrintCmd = new G4UIcmdWithAnInteger("/N03/event/printModulo",this);
PrintCmd->SetGuidance("Print events modulo n");
PrintCmd->SetParameterName("EventNb",false);
PrintCmd->SetRange("EventNb>0");
@@ -61,7 +65,8 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
ExN03EventActionMessenger::~ExN03EventActionMessenger()
{
delete DrawCmd;
delete PrintCmd;
delete PrintCmd;
delete eventDir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+5 -13
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PhysicsList.cc,v 1.13 2002/03/08 10:48:30 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PhysicsList.cc,v 1.14 2003/02/20 14:46:57 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -38,7 +38,7 @@
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4ios.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -292,22 +292,14 @@ void ExN03PhysicsList::SetCuts()
if (verboseLevel >0){
G4cout << "ExN03PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
}
}
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
//
//
SetCutValue(defaultCutValue, "gamma");
SetCutValue(defaultCutValue, "e-");
SetCutValue(defaultCutValue, "e+");
// set cut values for proton and anti_proton before all other hadrons
// because some processes for hadrons need cut values for proton/anti_proton
//
SetCutValue(defaultCutValue, "proton");
SetCutValue(defaultCutValue, "anti_proton");
SetCutValueForOthers(defaultCutValue);
if (verboseLevel>0) DumpCutValuesTable();
}
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PrimaryGeneratorAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03PrimaryGeneratorMessenger.hh"
#include "ExN03PrimaryGeneratorAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,8 +40,11 @@
ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger(
ExN03PrimaryGeneratorAction* ExN03Gun)
:ExN03Action(ExN03Gun)
{
RndmCmd = new G4UIcmdWithAString("/gun/random",this);
{
gunDir = new G4UIdirectory("/N03/gun/");
gunDir->SetGuidance("PrimaryGenerator control");
RndmCmd = new G4UIcmdWithAString("/N03/gun/rndm",this);
RndmCmd->SetGuidance("Shoot randomly the incident particle.");
RndmCmd->SetGuidance(" Choice : on(default), off");
RndmCmd->SetParameterName("choice",true);
@@ -54,6 +58,7 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger(
ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger()
{
delete RndmCmd;
delete gunDir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+11 -9
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03RunAction.cc,v 1.10 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03RunAction.cc,v 1.12 2003/01/30 14:14:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03RunAction.hh"
#include "G4Run.hh"
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4VVisManager.hh"
#include "G4ios.hh"
@@ -49,15 +50,16 @@ ExN03RunAction::~ExN03RunAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03RunAction::BeginOfRunAction(const G4Run* aRun)
{
{
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
if (G4VVisManager::GetConcreteInstance())
{
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/vis/scene/notifyHandlers");
}
//inform the runManager to save random number seed
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
//visualization
if (G4VVisManager::GetConcreteInstance()) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03SteppingAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03SteppingAction.cc,v 1.7 2003/01/30 14:14:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -31,6 +31,8 @@
#include "ExN03SteppingAction.hh"
#include "G4RunManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExN03SteppingAction::ExN03SteppingAction()
@@ -44,7 +46,10 @@ ExN03SteppingAction::~ExN03SteppingAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03SteppingAction::UserSteppingAction(const G4Step*)
{ }
{
// save the random number seed of this event, under condition
//// if(condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03SteppingVerbose.cc,v 1.9 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03SteppingVerbose.cc,v 1.10 2003/02/10 18:39:49 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,7 +73,8 @@ void ExN03SteppingVerbose::StepInfo()
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
@@ -162,7 +163,8 @@ G4int prec = G4cout.precision(3);
<< G4std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
@@ -0,0 +1,42 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: ExN03TrackingAction.cc,v 1.3 2002/12/18 15:17:56 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ExN03TrackingAction.hh"
#include "G4SmoothTrajectory.hh"
#include "G4TrackingManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03TrackingAction :: PreUserTrackingAction(const G4Track* aTrack)
{
fpTrackingManager->SetTrajectory(new G4SmoothTrajectory(aTrack));
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03VisManager.cc,v 1.10 2002/11/13 19:14:38 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.