Import Geant4 8.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:36:02 +02:00
parent d93e1e39a9
commit 8a51e0bc40
5471 changed files with 99628 additions and 55248 deletions
@@ -0,0 +1,17 @@
# $Id: GNUmakefile,v 1.1 2005/11/24 01:44:18 asaim Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
name := exampleRE02
G4TARGET := $(name)
G4EXLIB := true
ifndef G4INSTALL
G4INSTALL = ../../..
endif
.PHONY: all
all: lib bin
include $(G4INSTALL)/config/binmake.gmk
@@ -0,0 +1,22 @@
$Id: History,v 1.1 2005/11/24 01:44:18 asaim Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Example RE02 History file
------------------------
This file should be used by the G4 example coordinator to briefly
summarize all major modifications introduced in the code and keep
track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov. 23, 05 M.Asai (exampleRE02-V07-01-00)
- Tagged.
Nov. 18, 05 T.Aso, A.Kimura
- Created.
+218
View File
@@ -0,0 +1,218 @@
$Id: README,v 1.1 2005/11/24 01:44:18 asaim Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
ExampleRE02
-----------
This example simulates a simplified fixed target application
for demonstration of primitive scorers.
(Caution)
This example creates 100 x 100 x 200 boxes using parameterised
volume for realistic situation of medical application. This is
very memory consumption, and need roughly more than 1 GB memory
for execution. If your machine does not have enough memory,
please try to reduce number of segments according to the
instruction given in "1- GEOMETRY DEFINITION".
1- GEOMETRY DEFINITION
The setup contains a water phantom as target. The world volume
is 200 cm x 200 cm x 200 cm. The water phantom is box shape and
the size of 200 mm x 200 mm x 400 mm. The volume of water phantom is
is divided into 100 x 100 x 200 boxes using parameterized volume,
(RE02PhantomParamterisation).
e.g. A voxel size is 2.0 mm x 2.0 mm x 2.0 mm.
---- Tips
*If your machine does not have enough memory, please try to reduce
number of segments of water phantom in exampleRE02.cc.
Please change following numbers which represent number of segments
in x, y, z axis, respectively.
RE02DetectorConstruction* detector = new RE02DetectorConstruction;
detector->SetNumberOfSegmentsInPhantom(100,100,200);
Nx, Ny, Nz
----
The geometry and sensitive detector are constructed in
DetectorConstruction class.
(See "4- SCORER " for detail descriptions about sensitive detector.)
2- PHYSICS LIST
The particle's type and the physic processes which is available
in this example are set in PhysicsList class.
The PhysicsList is originally copied from extended example,
(example/extended/analysis/A01).
Full set of particles (baryons, bosons and mesons) are created, and
Standard EM Physics and Low/High Energy parameterized models
for hadrons are applied. The detail description will be found in
example/extended/analysis/A01/README.
Specially, the PhysicsList was modified in this example,
to use Binary cascade model for hadron physics at low energy (<4GeV)
and inelastic process for generic ions with BinaryLightIonReaction.
The data files for physics processes have to be assigned using
environment variables.
RE02PhysicsList is optimized for robustness and is not optimized for
any particular cases. If you will do precise calculation for your
use-case, please consider utilizing hadronic_lists, and defines the
production cut properly.
The default CutValue defines the production threshold of secondary
particles (mainly Ionisation and Bremsstrahlung processes are
concerned by this CutValue).
3- RUNS and EVENTS
- Primary particles.
The primary kinematics consists of a single particle which hits the
target perpendicular to the input face. The default type of the particle
and its energy are set in the RE02PrimaryGeneratorAction class.
However it can be changed via the G4 build-in commands of ParticleGun
class.
The RE02PrimaryGeneratorAction class introduces a beam spot size
that makes initial particle position of x,y randomized using a Gaussian
random function, where the center position is fixed to (0,0).
The standard deviation of the beam spot size is given in
RE02PrimaryGeneratorAction as 10 mm.
An EVENT represents a simulation of one primary particle.
A RUN is a set of events.
The user has control:
-at Begin and End of each run (class RunAction)
-at Begin and End of each event (class EventAction)
-at Begin and End of each track (class TrackingAction, not used here)
-at End of each step (class SteppingAction, not used here)
4- SCORER
- Concrete Scorer
This example introduces concrete primitive scorer (PS) and filter
classes for easy scoring. Those primitive scorers are registered to
MultiFunctionalDetector which is a concrete class of sensitive
detector(SD). Then the MultiFunctionalDetector is attached to
the logical volume of sensitive geometry.
A MultiFunctionalDetector, PrimitiveScorers, and SDFilters are
created and assigned to the logical volume of water phantom in
DetectorConstruction.
A primitive scorer can score one kind of physical quantity, and
creates one hits collection per event. The quantity is collected in
G4THitsMap with the copy number of geometry. Here collection name is
given as <MultiFunctionalDetector Name>/<PrimitiveScorer Name>.
A primitive scorer can have one filter (SDFilter) for selecting hits
to be used for the quantity.
The physical quantities scored in this example are:
----------------------------------------------------
- Total energy deposit
unit: Energy, collName: totalEDep
- Energy deposit by protons
unit: Energy, collName: protonEDep
- Number of steps of protons
unit: - , collName: protonNStep
- Cell Flux of charged tracks which pass through the geometry
unit: Length/Volume, collName: chargedPassCellFlux
- Cell Flux of all charged tracks
unit: Length/Volume, collName: chargedCellFlux
- Flux of charged particle at -Z surface of the BOX geometry,
where incident angle at the surface is taken into account.
unit: Surface^(-1), collName: chargedSurfFlux
- Surface current of gamma at -Z surface of the BOX geometry.
The energy of gammas are from 1. keV to 10. keV.
The incident angle is not taken into account.
unit: Surface^(-1), collName: gammaSurfCurr000
- Same as previous one, but different energy bin.
The energy of gammas are from 10. keV to 100. keV.
unit: Surface^(-1), collName: gammaSurfCurr001
- Same as previous one, but different energy bin.
The energy of gammas are from 100. keV to 1. MeV.
unit: Surface^(-1), collName: gammaSurfCurr002
- Same as previous one, except for energy bin.
The energy of gammas are from 1. MeV to 10. MeV.
unit: Surface^(-1), collName: gammaSurfCurr003
-------------------------------------------------
- Accumulating quantities during a RUN
A PrimitiveScorer creates one hits collection per event.
The physical quantity in the hits collection need to be accumulated
into another G4THitsMap object during a RUN, in order to obtain
integrated flux or dose in a RUN. The accumulation of quantities
are done at RE02Run class.
RE02Run class can automatically generate G4THitsMap objects for a RUN,
and accumulate physical quantities of an event into it. The accumulation
is done at RE02Run::RecordEvent(G4Event* aEvent).
- Generate a Run object, and print results
The RE02Run object is generated at RE02RunAction::GenerateRun().
The accumulated physical quantities are printed at the end of RUN
( RE02RunAction::EndOfEvent() ). This example prints only selected
physical quantities.
5- VISUALIZATION
The Visualization Manager is set in the main().
The initialization of the drawing is done via a set of /vis/ commands
in the macro vis.mac. This macro is automatically read from
the main when running in interactive mode.
The tracks are automatically drawn at the end of event and erased at
the beginning of the next run.
The visualization (with OpenGL driver) assumes two things:
1- the visualization & interfaces categories have been compiled
with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
2- exampleRE02.cc has been compiled with G4VIS_USE_OPENGLX.
(The same with DAWNFILE instead of OPENGLX)
6- USER INTERFACES
The default command interface, called G4UIterminal, is done via
standard G4cin/G4cout.
On Linux and Sun-cc on can use a smarter command interface G4UItcsh.
It is enough to set the environment variable G4UI_USE_TCSH before
compiling exampleRE02.cc
7- HOW TO START ?
- compile and link to generate an executable
% cd RE02
% gmake
- execute RE02 in 'batch' mode from macro files (without visualization)
% exampleRE02 run1.mac
- execute RE02 in 'interactive mode' with visualization
% exampleRE02
....
Idle> type your commands. For instance:
Idle> /run/beamOn 10
....
Idle> /control/execute run2.mac
....
Idle> exit
- macros are for different primary particles.
vis.mac : 200 MeV proton with visualization
run1.mac : 150 MeV proton
run2.mac : 195 MeV/u Carbon ion
run3.mac : 30 MeV electron
run4.mac : 60 keV gamma
@@ -0,0 +1,114 @@
//
// ********************************************************************
// * 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: exampleRE02.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
//
//
//
#include "RE02DetectorConstruction.hh"
#include "RE02PhysicsList.hh"
#include "RE02PrimaryGeneratorAction.hh"
#include "RE02RunAction.hh"
#include "RE02EventAction.hh"
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
//
int main(int argc,char** argv) {
// Run manager
G4RunManager * runManager = new G4RunManager;
// UserInitialization classes (mandatory)
//---
// Create Detector
// If your machine does not have enough memory,
// please try to reduce Number of Segements in phantom.
RE02DetectorConstruction* detector = new RE02DetectorConstruction;
detector->SetPhantomSize(G4ThreeVector(200*mm,200*mm,400*mm)); //Default
detector->SetNumberOfSegmentsInPhantom(100,100,200); //Default
//detector->SetNumberOfSegmentsInPhantom(1,1,100); // For small memory size.
//
runManager->SetUserInitialization(detector);
runManager->SetUserInitialization(new RE02PhysicsList);
#ifdef G4VIS_USE
// Visualization, if you choose to have it!
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
// UserAction classes
runManager->SetUserAction(new RE02PrimaryGeneratorAction);
runManager->SetUserAction(new RE02RunAction);
runManager->SetUserAction(new RE02EventAction);
//Initialize G4 kernel
runManager->Initialize();
//get the pointer to the User Interface manager
G4UImanager * UI = G4UImanager::GetUIpointer();
if(argc==1)
// Define (G)UI terminal for interactive mode
{
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
UI->ApplyCommand("/control/execute vis.mac");
session->SessionStart();
delete session;
}
else
// Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
}
#ifdef G4VIS_USE
delete visManager;
#endif
delete runManager;
return 0;
}
//
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * 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: RE02DetectorConstruction.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef RE02DetectorConstruction_h
#define RE02DetectorConstruction_h 1
#include "globals.hh"
#include "G4VUserDetectorConstruction.hh"
#include "G4MultiFunctionalDetector.hh"
class G4Box;
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4Material;
//
class RE02DetectorConstruction : public G4VUserDetectorConstruction
{
public:
// constructor and destructor.
RE02DetectorConstruction();
virtual ~RE02DetectorConstruction();
public:
// virtual method from G4VUserDetectorCOnstruction.
virtual G4VPhysicalVolume* Construct();
public:
// Get/Set Access methods for data members
// Size of Whater Phantom
void SetPhantomSize(G4ThreeVector size) { fphantomSize=size; }
const G4ThreeVector& GetPhantomSize() const { return fphantomSize; }
// Number of segments of water phantom
void SetNumberOfSegmentsInPhantom(G4int nx, G4int ny, G4int nz)
{ fNx=nx; fNy=ny; fNz=nz; }
void GetNumberOfSegmentsInPhantom(G4int& nx, G4int& ny, G4int& nz)
const{ nx = fNx; ny = fNy; nz = fNz; }
private:
// Data members
G4ThreeVector fphantomSize; // Size of Water Phantom
G4int fNx,fNy,fNz; // Number of segmentation of water phantom.
};
#endif
@@ -0,0 +1,66 @@
//
// ********************************************************************
// * 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: RE02EMPhysics.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 Chhange gamma, electron, positorn process T. Koi
#ifndef RE02EMPhysics_h
#define RE02EMPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
class RE02EMPhysics : public G4VPhysicsConstructor
{
public:
RE02EMPhysics(const G4String& name ="EM");
virtual ~RE02EMPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle(){;};
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
};
#endif
@@ -0,0 +1,51 @@
//
// ********************************************************************
// * 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: RE02EventAction.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef RE02EventAction_h
#define RE02EventAction_h 1
#include "G4UserEventAction.hh"
class G4Event;
//
class RE02EventAction : public G4UserEventAction
{
public:
RE02EventAction();
~RE02EventAction();
public:
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
};
//
#endif
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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: RE02GeneralPhysics.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
#ifndef RE02GeneralPhysics_h
#define RE02GeneralPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
class RE02GeneralPhysics : public G4VPhysicsConstructor
{
public:
RE02GeneralPhysics(const G4String& name = "general");
virtual ~RE02GeneralPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
};
#endif
@@ -0,0 +1,155 @@
//
// ********************************************************************
// * 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: RE02HadronPhysics.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 10-Oct-2003 Full Hadron Processes with Parameterization Model T. Koi
#ifndef RE02HadronPhysics_h
#define RE02HadronPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4hIonisation.hh"
// Hadronic Processes
#include "G4HadronElasticProcess.hh"
#include "G4HadronFissionProcess.hh"
#include "G4HadronCaptureProcess.hh"
#include "G4PionPlusInelasticProcess.hh"
#include "G4PionMinusInelasticProcess.hh"
#include "G4KaonPlusInelasticProcess.hh"
#include "G4KaonZeroSInelasticProcess.hh"
#include "G4KaonZeroLInelasticProcess.hh"
#include "G4KaonMinusInelasticProcess.hh"
#include "G4ProtonInelasticProcess.hh"
#include "G4AntiProtonInelasticProcess.hh"
#include "G4NeutronInelasticProcess.hh"
#include "G4AntiNeutronInelasticProcess.hh"
#include "G4LambdaInelasticProcess.hh"
#include "G4AntiLambdaInelasticProcess.hh"
#include "G4SigmaPlusInelasticProcess.hh"
#include "G4SigmaMinusInelasticProcess.hh"
#include "G4AntiSigmaPlusInelasticProcess.hh"
#include "G4AntiSigmaMinusInelasticProcess.hh"
#include "G4XiZeroInelasticProcess.hh"
#include "G4XiMinusInelasticProcess.hh"
#include "G4AntiXiZeroInelasticProcess.hh"
#include "G4AntiXiMinusInelasticProcess.hh"
#include "G4DeuteronInelasticProcess.hh"
#include "G4TritonInelasticProcess.hh"
#include "G4AlphaInelasticProcess.hh"
#include "G4OmegaMinusInelasticProcess.hh"
#include "G4AntiOmegaMinusInelasticProcess.hh"
// Binary Cascade Models
#include "G4BinaryCascade.hh"
// Low energy models
#include "G4LElastic.hh"
#include "G4LFission.hh"
#include "G4LCapture.hh"
#include "G4LEPionPlusInelastic.hh"
#include "G4LEPionMinusInelastic.hh"
#include "G4LEKaonPlusInelastic.hh"
#include "G4LEKaonZeroSInelastic.hh"
#include "G4LEKaonZeroLInelastic.hh"
#include "G4LEKaonMinusInelastic.hh"
#include "G4LEProtonInelastic.hh"
#include "G4LEAntiProtonInelastic.hh"
#include "G4LENeutronInelastic.hh"
#include "G4LEAntiNeutronInelastic.hh"
#include "G4LELambdaInelastic.hh"
#include "G4LEAntiLambdaInelastic.hh"
#include "G4LESigmaPlusInelastic.hh"
#include "G4LESigmaMinusInelastic.hh"
#include "G4LEAntiSigmaPlusInelastic.hh"
#include "G4LEAntiSigmaMinusInelastic.hh"
#include "G4LEXiZeroInelastic.hh"
#include "G4LEXiMinusInelastic.hh"
#include "G4LEAntiXiZeroInelastic.hh"
#include "G4LEAntiXiMinusInelastic.hh"
#include "G4LEDeuteronInelastic.hh"
#include "G4LETritonInelastic.hh"
#include "G4LEAlphaInelastic.hh"
#include "G4LEOmegaMinusInelastic.hh"
#include "G4LEAntiOmegaMinusInelastic.hh"
// High-energy Models
#include "G4HEPionPlusInelastic.hh"
#include "G4HEPionMinusInelastic.hh"
#include "G4HEKaonPlusInelastic.hh"
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEKaonMinusInelastic.hh"
#include "G4HEProtonInelastic.hh"
#include "G4HEAntiProtonInelastic.hh"
#include "G4HENeutronInelastic.hh"
#include "G4HEAntiNeutronInelastic.hh"
#include "G4HELambdaInelastic.hh"
#include "G4HEAntiLambdaInelastic.hh"
#include "G4HESigmaPlusInelastic.hh"
#include "G4HESigmaMinusInelastic.hh"
#include "G4HEAntiSigmaPlusInelastic.hh"
#include "G4HEAntiSigmaMinusInelastic.hh"
#include "G4HEXiZeroInelastic.hh"
#include "G4HEXiMinusInelastic.hh"
#include "G4HEAntiXiZeroInelastic.hh"
#include "G4HEAntiXiMinusInelastic.hh"
#include "G4HEOmegaMinusInelastic.hh"
#include "G4HEAntiOmegaMinusInelastic.hh"
// Stopping processes
#include "G4AntiProtonAnnihilationAtRest.hh"
#include "G4AntiNeutronAnnihilationAtRest.hh"
class RE02HadronPhysics : public G4VPhysicsConstructor
{
public:
RE02HadronPhysics(const G4String& name="hadron");
virtual ~RE02HadronPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle(){;};
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
};
#endif
@@ -0,0 +1,77 @@
//
// ********************************************************************
// * 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: RE02IonPhysics.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
// 05-Jan-2004 Add G4ionIonisation T. Koi
//
#ifndef RE02IonPhysics_h
#define RE02IonPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4HadronElasticProcess.hh"
#include "G4LElastic.hh"
#include "G4BinaryLightIonReaction.hh"
#include "G4TripathiCrossSection.hh"
#include "G4IonsShenCrossSection.hh"
#include "G4DeuteronInelasticProcess.hh"
#include "G4LEDeuteronInelastic.hh"
#include "G4TritonInelasticProcess.hh"
#include "G4LETritonInelastic.hh"
#include "G4AlphaInelasticProcess.hh"
#include "G4LEAlphaInelastic.hh"
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
#include "G4MultipleScattering.hh"
class RE02IonPhysics : public G4VPhysicsConstructor
{
public:
RE02IonPhysics(const G4String& name="ion");
virtual ~RE02IonPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle(){;};
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
};
#endif
@@ -0,0 +1,64 @@
//
// ********************************************************************
// * 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: RE02MuonPhysics.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 mu+- tau+- processes are changed by T. Koi
#ifndef RE02MuonPhysics_h
#define RE02MuonPhysics_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4MuIonisation.hh"
#include "G4hIonisation.hh"
class RE02MuonPhysics : public G4VPhysicsConstructor
{
public:
RE02MuonPhysics(const G4String& name="muon");
virtual ~RE02MuonPhysics();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle(){;};
// This method will be invoked in the Construct() method.
// each physics process will be instantiated and
// registered to the process manager of each particle type
virtual void ConstructProcess();
protected:
};
#endif
@@ -0,0 +1,89 @@
//
// ********************************************************************
// * 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: RE02PhantomParameterisation.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef RE02PhantomParameterisation_h
#define RE02PhantomParameterisation_h 1
#include "globals.hh"
#include "G4VPVParameterisation.hh"
#include "G4ThreeVector.hh"
#include <vector>
class G4VPhysicalVolume;
class G4LogicalVolume;
class G4Material;
class G4VisAttributes;
class G4Box;
class G4Trd;
class G4Trap;
class G4Cons;
class G4Orb;
class G4Sphere;
class G4Torus;
class G4Para;
class G4Hype;
class G4Tubs;
class G4Polycone;
class G4Polyhedra;
//
class RE02PhantomParameterisation : public G4VPVParameterisation
{
public:
RE02PhantomParameterisation(const G4ThreeVector& motherSize,
const G4int nx, const G4int ny, const G4int nz);
virtual ~RE02PhantomParameterisation();
void ComputeTransformation(const G4int copyNo,
G4VPhysicalVolume* physVol)const;
private: // Dummy declarations to get rid of warnings ...
void ComputeDimensions(G4Box&, const G4int,const G4VPhysicalVolume* ) const{};
void ComputeDimensions(G4Trd&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Trap&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Cons&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Sphere&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Orb&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Torus&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Para&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Hype&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Tubs&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Polycone&,const G4int,const G4VPhysicalVolume*) const {}
void ComputeDimensions(G4Polyhedra&,const G4int,const G4VPhysicalVolume*) const {}
private:
G4ThreeVector fDxyzMother;
G4ThreeVector fDxyz;
G4int fNx, fNy, fNz;
std::vector<G4ThreeVector> fPositions;
};
#endif
@@ -0,0 +1,49 @@
//
// ********************************************************************
// * 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: RE02PhysicsList.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
#ifndef RE02PhysicsList_h
#define RE02PhysicsList_h 1
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class RE02PhysicsList: public G4VModularPhysicsList
{
public:
RE02PhysicsList();
virtual ~RE02PhysicsList();
public:
// SetCuts()
virtual void SetCuts();
};
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * 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: RE02PrimaryGeneratorAction.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef RE02PrimaryGeneratorAction_h
#define RE02PrimaryGeneratorAction_h 1
#include "G4VUserPrimaryGeneratorAction.hh"
#include "globals.hh"
class RE02DetectorConstruction;
class G4ParticleGun;
class G4Event;
//
class RE02PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
RE02PrimaryGeneratorAction();
~RE02PrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
private:
G4double fsigmaPosition; // Initial beam spot size in x-y plane.
G4ParticleGun* particleGun;
};
//
#endif
@@ -0,0 +1,81 @@
//
// ********************************************************************
// * 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: RE02Run.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
//---------------------------------------------------------------------
// (Purpose)
// Example implementation for multi-functional-detector and
// primitive scorer.
// This RE02Run class has collections which accumulate
// a event information into a run information.
//
//---------------------------------------------------------------------
#ifndef RE02Run_h
#define RE02Run_h 1
#include "G4Run.hh"
#include "G4Event.hh"
#include "G4THitsMap.hh"
#include <vector>
//
class RE02Run : public G4Run {
public:
// constructor and destructor.
// vector of multifunctionaldetector name has to given to constructor.
RE02Run(const std::vector<G4String> mfdName);
virtual ~RE02Run();
public:
// virtual method from G4Run.
// The method is overriden in this class for scoring.
virtual void RecordEvent(const G4Event*);
// Access methods for scoring information.
// - Number of HitsMap for this RUN.
// This is equal to number of collections.
G4int GetNumberOfHitsMap() const {return theRunMap.size();}
// - Get HitsMap of this RUN.
// by sequential number, by multifucntional name and collection name,
// and by collection name with full path.
G4THitsMap<G4double>* GetHitsMap(G4int i){return theRunMap[i];}
G4THitsMap<G4double>* GetHitsMap(const G4String& detName,
const G4String& colName);
G4THitsMap<G4double>* GetHitsMap(const G4String& fullName);
// - Dump All HitsMap of this RUN.
// This method calls G4THisMap::PrintAll() for individual HitsMap.
void DumpAllScorer();
private:
std::vector<G4String> theCollName;
std::vector<G4int> theCollID;
std::vector<G4THitsMap<G4double>*> theRunMap;
};
//
#endif
@@ -0,0 +1,81 @@
//
// ********************************************************************
// * 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: RE02RunAction.hh,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#ifndef RE02RunAction_h
#define RE02RunAction_h 1
#include "G4UserRunAction.hh"
#include "globals.hh"
#include <vector>
class G4Run;
//=======================================================================
// RE02RunAction
//
//
//
//=======================================================================
//
class RE02RunAction : public G4UserRunAction
{
public:
// constructor and destructor
RE02RunAction();
virtual ~RE02RunAction();
public:
// virtual method from G4UserRunAction.
virtual G4Run* GenerateRun();
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
public:
// Utility method for converting segment number of
// water phantom to copyNo of HitsMap.
G4int CopyNo(G4int ix, G4int iy, G4int iz)
{ return (ix*(fNy*fNz)+iy*fNz+iz); }
private:
// Data member
// - vector of MultiFunctionalDetecor names.
std::vector<G4String> theSDName;
// for conversion of sengment number to copyNo.
G4int fNx, fNy, fNz;
};
//
#endif
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,40 @@
#
# Macro file for the initialization phase of "exampleRE02.cc"
# when runing in interactive mode
#
# Sets some default verbose
#
/control/verbose 2
/run/verbose 2
#
# create empty scene
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#
#/vis/open VRML2FILE
#/vis/open OGLIX
#/vis/open DAWNFILE
#
# draw scene
#
#/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/zoom 1.4
#/vis/viewer/flush
#
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
# (if you prefer refreshing each event, comment out next line)
/vis/scene/endOfEventAction accumulate
#
/gun/particle proton
/gun/energy 150. MeV
/gun/position 0 0 -100 cm
/gun/direction 0 0 1
#
/run/beamOn 100000
+716
View File
@@ -0,0 +1,716 @@
*************************************************************
Geant4 version Name: geant4-07-01 (30-June-2005)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
<-- RE02DetectorConstruction -----------------
Water Phantom Size (200,200,400)
Segmentation (100,100,200)
<---------------------------------------------
You are using the RE02PhysicsList
This PhysicsList originally comes from
example/extended/analysis/A01, and is modified
in Hadron Physics in order to involve Binary Cascade
at low energy region and inelastic process for generic ions.
Full set of particles (barions bosons and mesons) will be created and
Standard EM Physics and Low & High Energy parameterized models will be applied.
RE02PhysicsList is optimized for robustness
and not for any particular usage.
For the hadronic physics, educated guesses of physics list are prepared for various use cases.
When you will start REAL calculations for your own interest,
please consider the usage of hadronic_lists instead of RE02PhysicsLists.
More information can also be found from the Geant4 HyperNews.
http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
FukuiRenderer (DAWN)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
OpenGLImmediateXm (OGLIXm)
OpenGLStoredXm (OGLSXm)
VRML1 (VRML1)
VRML2 (VRML2)
The materials defined are :
***** Table : Nb of materials = 2 *****
Material: G4_AIR density: 1.205 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 303.921 m
---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole
---> Isotope: C Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 %
---> Isotope: C Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % fractionMass: 0.01 % Abundance 0.02 %
---> Element: N (N) Z = 7.0 N = 14.0 A = 14.01 g/mole
---> Isotope: N Z = 7 N = 14 A = 14.00 g/mole abundance: 99.63 %
---> Isotope: N Z = 7 N = 15 A = 15.00 g/mole abundance: 0.37 % fractionMass: 75.53 % Abundance 78.44 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 23.18 % Abundance 21.07 %
---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole
---> Isotope: Ar Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 %
---> Isotope: Ar Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 %
---> Isotope: Ar Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % fractionMass: 1.28 % Abundance 0.47 %
Material: G4_WATER density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.083 cm
---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole
---> Isotope: H Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 %
---> Isotope: H Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % fractionMass: 11.19 % Abundance 66.67 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 88.81 % Abundance 33.33 %
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 keV HighE 10 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 10 keV HighE 100 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 100 keV HighE 1 MeV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 MeV HighE 10 MeV
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
#/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/zoom 1.4
#
# Store trajectory
#/tracking/storeTrajectory 1
#/vis/scene/add/trajectories
#/vis/scene/endOfEventAction accumulate
#
#
# Beam Parameters
# for carbon ion.
# UIcommands from G4ParticleGun.
#
/gun/particle ion
/gun/ion 6 12
#
# Kinetic Energy.
# 195.MeV/u * 12(AtomicMass) = 2340. MeV
#
/gun/energy 2340. MeV
#
/gun/position 0 0 -100 cm
/gun/direction 0 0 1
#
/run/beamOn 10000
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
sampling secondary e+e- according to the Bethe-Heitler model
tables are built for gamma
Lambda tables from 1.022 MeV to 100 GeV in 100 bins.
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
Sampling according Klein-Nishina model
tables are built for gamma
Lambda tables from 100 eV to 100 GeV in 90 bins.
phot: Total cross sections from Sandia parametrisation.
msc: Model variant of multiple scattering for e-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
annihil: Heilter model of formula of annihilation into 2 photons
tables are built for e+
Lambda tables from 100 eV to 100 TeV in 120 bins.
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
msc: Model variant of multiple scattering for C12[0.0]
muIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
Region DefaultRegionForTheWorld
Materials : G4_AIR G4_WATER
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : G4_AIR
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 : G4_WATER
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 445090 kByte
Total CPU time elapsed for geometry optimisation: 24 seconds
Voxelisation: top CPU users:
Percent Total CPU System CPU Memory Volume
------- ---------- ---------- -------- ----------
99.07 23.45 1.71 445091k Phantom
Voxelisation: top memory users:
Percent Memory Heads Nodes Pointers Total CPU Volume
------- -------- ------ ------ -------- ---------- ----------
-3.66 445090k 79801 13840799 16020201 23.45 Phantom
++ PhantomSD/totalEDep id 0
++ PhantomSD/protonEDep id 1
++ PhantomSD/protonNStep id 2
++ PhantomSD/chargedPassCellFlux id 3
++ PhantomSD/chargedCellFlux id 4
++ PhantomSD/chargedSurfFlux id 5
++ PhantomSD/gammaSurfCurr000 id 6
++ PhantomSD/gammaSurfCurr001 id 7
++ PhantomSD/gammaSurfCurr002 id 8
++ PhantomSD/gammaSurfCurr003 id 9
### Run 0 start.
Start Run processing.
>>> Event 0
>>> Event 1
>>> Event 2
>>> Event 3
>>> Event 4
>>> Event 5
>>> Event 6
>>> Event 7
>>> Event 8
>>> Event 9
>>> Event 10
>>> Event 11
>>> Event 12
>>> Event 13
>>> Event 14
>>> Event 15
>>> Event 16
>>> Event 17
>>> Event 18
>>> Event 19
>>> Event 20
>>> Event 21
>>> Event 22
>>> Event 23
>>> Event 24
>>> Event 25
>>> Event 26
>>> Event 27
>>> Event 28
>>> Event 29
>>> Event 30
>>> Event 31
>>> Event 32
>>> Event 33
>>> Event 34
>>> Event 35
>>> Event 36
>>> Event 37
>>> Event 38
>>> Event 39
>>> Event 40
>>> Event 41
>>> Event 42
>>> Event 43
>>> Event 44
>>> Event 45
>>> Event 46
>>> Event 47
>>> Event 48
>>> Event 49
>>> Event 50
>>> Event 51
>>> Event 52
>>> Event 53
>>> Event 54
>>> Event 55
>>> Event 56
>>> Event 57
>>> Event 58
>>> Event 59
>>> Event 60
>>> Event 61
>>> Event 62
>>> Event 63
>>> Event 64
>>> Event 65
>>> Event 66
>>> Event 67
>>> Event 68
>>> Event 69
>>> Event 70
>>> Event 71
>>> Event 72
>>> Event 73
>>> Event 74
>>> Event 75
>>> Event 76
>>> Event 77
>>> Event 78
>>> Event 79
>>> Event 80
>>> Event 81
>>> Event 82
>>> Event 83
>>> Event 84
>>> Event 85
>>> Event 86
>>> Event 87
>>> Event 88
>>> Event 89
>>> Event 90
>>> Event 91
>>> Event 92
>>> Event 93
>>> Event 94
>>> Event 95
>>> Event 96
>>> Event 97
>>> Event 98
>>> Event 99
>>> Event 100
>>> Event 200
>>> Event 300
>>> Event 400
>>> Event 500
>>> Event 600
>>> Event 700
>>> Event 800
>>> Event 900
>>> Event 1000
>>> Event 1100
>>> Event 1200
>>> Event 1300
>>> Event 1400
>>> Event 1500
>>> Event 1600
>>> Event 1700
>>> Event 1800
>>> Event 1900
>>> Event 2000
>>> Event 2100
>>> Event 2200
>>> Event 2300
>>> Event 2400
>>> Event 2500
>>> Event 2600
>>> Event 2700
>>> Event 2800
>>> Event 2900
>>> Event 3000
>>> Event 3100
>>> Event 3200
>>> Event 3300
>>> Event 3400
>>> Event 3500
>>> Event 3600
>>> Event 3700
>>> Event 3800
>>> Event 3900
>>> Event 4000
>>> Event 4100
>>> Event 4200
>>> Event 4300
>>> Event 4400
>>> Event 4500
>>> Event 4600
>>> Event 4700
>>> Event 4800
>>> Event 4900
>>> Event 5000
>>> Event 5100
>>> Event 5200
>>> Event 5300
>>> Event 5400
>>> Event 5500
>>> Event 5600
>>> Event 5700
>>> Event 5800
>>> Event 5900
>>> Event 6000
>>> Event 6100
>>> Event 6200
>>> Event 6300
>>> Event 6400
>>> Event 6500
>>> Event 6600
>>> Event 6700
>>> Event 6800
>>> Event 6900
>>> Event 7000
>>> Event 7100
>>> Event 7200
>>> Event 7300
>>> Event 7400
>>> Event 7500
>>> Event 7600
>>> Event 7700
>>> Event 7800
>>> Event 7900
>>> Event 8000
>>> Event 8100
>>> Event 8200
>>> Event 8300
>>> Event 8400
>>> Event 8500
>>> Event 8600
>>> Event 8700
>>> Event 8800
>>> Event 8900
>>> Event 9000
>>> Event 9100
>>> Event 9200
>>> Event 9300
>>> Event 9400
>>> Event 9500
>>> Event 9600
>>> Event 9700
>>> Event 9800
>>> Event 9900
Run terminated.
Run Summary
Number of events processed : 10000
User=2256.63s Real=2345.91s Sys=1.67s
=============================================================
Number of event processed : 10000
=============================================================
#Z Cell# totalEDep protonEDep protonNStep chargedPassCellFlux chargedCellFlux chargedSurfFlux gammaSurfCurr000 gammaSurfCurr001 gammaSurfCurr002 gammaSurfCurr003
0 13.531336 GeV 4.4119161 MeV 7 10326.638 /cm2 15728.127 /cm2 16749.298 /cm2 0 /cm2 75 /cm2 25 /cm2 100 /cm2
1 13.792529 GeV 43.084361 MeV 24 11004.24 /cm2 17066.404 /cm2 19296.168 /cm2 0 /cm2 200 /cm2 150 /cm2 150 /cm2
2 13.867095 GeV 76.771712 MeV 38 11063.589 /cm2 17234.418 /cm2 17803.759 /cm2 0 /cm2 225 /cm2 125 /cm2 150 /cm2
3 14.009395 GeV 67.175663 MeV 47 11153.156 /cm2 16647.585 /cm2 17955.947 /cm2 25 /cm2 375 /cm2 100 /cm2 225 /cm2
4 14.112976 GeV 61.812029 MeV 52 11369.869 /cm2 16983.504 /cm2 36945.189 /cm2 0 /cm2 200 /cm2 100 /cm2 200 /cm2
5 14.420956 GeV 120.67697 MeV 71 11152.441 /cm2 17060.692 /cm2 19811.24 /cm2 0 /cm2 200 /cm2 50 /cm2 300 /cm2
6 14.43361 GeV 113.14005 MeV 72 11388.304 /cm2 16311.164 /cm2 14754.424 /cm2 25 /cm2 225 /cm2 50 /cm2 425 /cm2
7 14.345366 GeV 88.656278 MeV 66 11543.928 /cm2 16038.309 /cm2 18301.562 /cm2 0 /cm2 200 /cm2 175 /cm2 250 /cm2
8 14.35585 GeV 96.779839 MeV 73 11472.914 /cm2 15345.007 /cm2 22630.598 /cm2 0 /cm2 200 /cm2 125 /cm2 175 /cm2
9 14.385367 GeV 74.668668 MeV 61 11426.995 /cm2 14389.937 /cm2 16553.973 /cm2 0 /cm2 250 /cm2 50 /cm2 225 /cm2
10 14.790008 GeV 122.07539 MeV 70 11396.584 /cm2 14695.39 /cm2 15021.213 /cm2 25 /cm2 200 /cm2 100 /cm2 450 /cm2
11 14.858361 GeV 103.69308 MeV 80 11452.049 /cm2 14061.199 /cm2 14363.125 /cm2 0 /cm2 50 /cm2 100 /cm2 350 /cm2
12 14.758371 GeV 129.27812 MeV 93 11630.832 /cm2 13953.093 /cm2 12851.329 /cm2 0 /cm2 175 /cm2 100 /cm2 400 /cm2
13 14.973667 GeV 118.57643 MeV 96 11811.027 /cm2 13330.97 /cm2 15393.79 /cm2 0 /cm2 50 /cm2 75 /cm2 425 /cm2
14 15.035222 GeV 129.09758 MeV 88 11700.383 /cm2 12571.131 /cm2 13428.845 /cm2 0 /cm2 100 /cm2 25 /cm2 325 /cm2
15 15.038969 GeV 116.33783 MeV 81 11485.649 /cm2 11842.105 /cm2 12217.958 /cm2 0 /cm2 100 /cm2 50 /cm2 450 /cm2
16 15.439206 GeV 143.20903 MeV 88 11587.629 /cm2 11806.972 /cm2 11944.097 /cm2 0 /cm2 100 /cm2 25 /cm2 500 /cm2
17 15.543256 GeV 162.96176 MeV 97 11614.137 /cm2 11851.626 /cm2 11795.817 /cm2 0 /cm2 125 /cm2 50 /cm2 375 /cm2
18 15.849847 GeV 122.51886 MeV 85 11430.3 /cm2 11711.178 /cm2 11650.05 /cm2 0 /cm2 25 /cm2 25 /cm2 375 /cm2
19 16.101812 GeV 125.2569 MeV 86 11739.037 /cm2 11871.919 /cm2 11768.796 /cm2 0 /cm2 25 /cm2 50 /cm2 350 /cm2
20 16.449446 GeV 161.81 MeV 96 11772.065 /cm2 12063.23 /cm2 12124.949 /cm2 0 /cm2 25 /cm2 50 /cm2 425 /cm2
21 16.687689 GeV 135.59536 MeV 89 11940.212 /cm2 12076.103 /cm2 12075.615 /cm2 0 /cm2 25 /cm2 100 /cm2 400 /cm2
22 17.083267 GeV 172.72502 MeV 100 11882.225 /cm2 12169.756 /cm2 12074.587 /cm2 0 /cm2 25 /cm2 25 /cm2 350 /cm2
23 17.483878 GeV 218.56948 MeV 120 12163.828 /cm2 12695.102 /cm2 12385.203 /cm2 0 /cm2 0 /cm2 75 /cm2 225 /cm2
24 17.566726 GeV 202.63901 MeV 120 12581.8 /cm2 12925.179 /cm2 13736.716 /cm2 0 /cm2 0 /cm2 100 /cm2 350 /cm2
25 17.64148 GeV 190.46004 MeV 101 12384.844 /cm2 12543.406 /cm2 12737.82 /cm2 0 /cm2 0 /cm2 25 /cm2 300 /cm2
26 17.828381 GeV 155.20817 MeV 97 11808.261 /cm2 12089.364 /cm2 12485.29 /cm2 0 /cm2 50 /cm2 25 /cm2 475 /cm2
27 18.140536 GeV 129.69171 MeV 79 11722.177 /cm2 11926.287 /cm2 11663.398 /cm2 0 /cm2 0 /cm2 50 /cm2 500 /cm2
28 18.604132 GeV 126.49839 MeV 85 11841.062 /cm2 12032.609 /cm2 11978.173 /cm2 0 /cm2 25 /cm2 50 /cm2 475 /cm2
29 19.370532 GeV 186.23784 MeV 102 11833.122 /cm2 12231.3 /cm2 11940.383 /cm2 0 /cm2 50 /cm2 125 /cm2 450 /cm2
30 19.975445 GeV 202.2853 MeV 104 12014.465 /cm2 12380.692 /cm2 12213.324 /cm2 0 /cm2 25 /cm2 75 /cm2 450 /cm2
31 20.622066 GeV 194.35977 MeV 103 12103.131 /cm2 12395.073 /cm2 12387.701 /cm2 0 /cm2 0 /cm2 125 /cm2 300 /cm2
32 21.577189 GeV 212.06409 MeV 104 11747.052 /cm2 12243.755 /cm2 12138.508 /cm2 0 /cm2 0 /cm2 75 /cm2 275 /cm2
33 22.820571 GeV 186.06013 MeV 104 11956.109 /cm2 12291.048 /cm2 12668.87 /cm2 0 /cm2 0 /cm2 125 /cm2 325 /cm2
34 23.828473 GeV 182.28744 MeV 86 11932.927 /cm2 12117.021 /cm2 12475.522 /cm2 0 /cm2 50 /cm2 75 /cm2 300 /cm2
35 25.198673 GeV 206.77718 MeV 97 11470.605 /cm2 11839.278 /cm2 11847.794 /cm2 0 /cm2 0 /cm2 75 /cm2 275 /cm2
36 26.284447 GeV 213.79134 MeV 89 11145.378 /cm2 11450.627 /cm2 11805.794 /cm2 0 /cm2 0 /cm2 25 /cm2 400 /cm2
37 28.142542 GeV 159.50305 MeV 75 10884.545 /cm2 11047.571 /cm2 11156.692 /cm2 0 /cm2 0 /cm2 25 /cm2 325 /cm2
38 32.183798 GeV 214.90299 MeV 92 10741.797 /cm2 11156.89 /cm2 11091.984 /cm2 0 /cm2 0 /cm2 50 /cm2 275 /cm2
39 37.933241 GeV 233.44046 MeV 88 10509.192 /cm2 10843.096 /cm2 11077.52 /cm2 0 /cm2 0 /cm2 75 /cm2 300 /cm2
40 54.702868 GeV 155.56501 MeV 63 10286.484 /cm2 10452.047 /cm2 10916.427 /cm2 0 /cm2 0 /cm2 75 /cm2 250 /cm2
41 45.547367 GeV 102.98082 MeV 45 2862.7571 /cm2 5292.8797 /cm2 9997.5227 /cm2 0 /cm2 0 /cm2 50 /cm2 150 /cm2
42 2.4440587 GeV 90.418814 MeV 39 2575.2062 /cm2 2644.3506 /cm2 2630.8135 /cm2 0 /cm2 0 /cm2 25 /cm2 150 /cm2
43 1.8114216 GeV 94.003087 MeV 36 2181.6845 /cm2 2292.2508 /cm2 2453.2913 /cm2 0 /cm2 0 /cm2 25 /cm2 125 /cm2
44 1.8350681 GeV 58.738894 MeV 29 1898.2037 /cm2 1957.8879 /cm2 2086.5628 /cm2 0 /cm2 0 /cm2 75 /cm2 50 /cm2
45 1.6093262 GeV 44.728854 MeV 21 1632.2175 /cm2 1655.496 /cm2 1712.7238 /cm2 0 /cm2 0 /cm2 50 /cm2 100 /cm2
46 1.7469079 GeV 32.219458 MeV 15 1505.7658 /cm2 1580.3678 /cm2 1613.1219 /cm2 0 /cm2 0 /cm2 50 /cm2 100 /cm2
47 1.4202252 GeV 22.740958 MeV 12 1446.0838 /cm2 1464.5572 /cm2 1508.4952 /cm2 0 /cm2 0 /cm2 50 /cm2 25 /cm2
48 1.2677691 GeV 20.438753 MeV 15 1273.1934 /cm2 1317.6046 /cm2 1428.834 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
49 892.25173 MeV 20.306269 MeV 10 1171.1082 /cm2 1188.9376 /cm2 1228.3424 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
50 903.25161 MeV 22.0392 MeV 11 1114.8059 /cm2 1139.2218 /cm2 1153.0218 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
51 839.43406 MeV 28.619067 MeV 12 1117.9914 /cm2 1127.6598 /cm2 1080.3383 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2
52 1.0436738 GeV 24.624362 MeV 10 856.52832 /cm2 969.41504 /cm2 1055.1548 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2
53 499.24093 MeV 18.743581 MeV 7 772.84176 /cm2 790.03279 /cm2 827.09959 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2
54 442.41707 MeV 21.191085 MeV 10 699.36238 /cm2 735.31677 /cm2 787.10444 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2
55 214.75091 MeV 11.899491 MeV 8 635.47272 /cm2 635.47272 /cm2 676.41815 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
56 236.21592 MeV 14.074045 MeV 8 593.20456 /cm2 605.66835 /cm2 626.27717 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
57 168.04271 MeV 13.637095 MeV 8 561.54943 /cm2 562.81799 /cm2 601.24663 /cm2 0 /cm2 25 /cm2 0 /cm2 25 /cm2
58 125.54363 MeV 14.242124 MeV 8 489.37115 /cm2 495.49755 /cm2 501.35512 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
59 107.2776 MeV 10.962101 MeV 6 450.8766 /cm2 450.8766 /cm2 450.85386 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
60 113.16645 MeV 11.019038 MeV 6 407.82001 /cm2 416.77436 /cm2 450.88883 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
61 114.66795 MeV 7.8833876 MeV 4 340.65694 /cm2 381.66063 /cm2 375.87509 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
62 116.91396 MeV 6.4866776 MeV 2 325.41567 /cm2 336.21929 /cm2 352.79968 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
63 91.385165 MeV 7.2068942 MeV 2 304.0872 /cm2 304.0872 /cm2 303.55335 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
64 103.0146 MeV 9.8017948 MeV 2 224.94831 /cm2 239.58401 /cm2 305.78585 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
65 108.43236 MeV 1.3422545 MeV 2 201.03482 /cm2 212.93359 /cm2 200.22645 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
66 93.961229 MeV 7.1106292 MeV 2 247.3677 /cm2 247.3677 /cm2 251.65507 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
67 97.648719 MeV 12.281207 MeV 3 249.65519 /cm2 249.65519 /cm2 251.6644 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
68 107.40054 MeV 7.5890735 MeV 3 199.56591 /cm2 219.17764 /cm2 226.61397 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
69 72.96407 MeV 2.2274904 MeV 1 164.68495 /cm2 164.68495 /cm2 176.15107 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
70 48.336577 MeV 0 eV 0 125.05734 /cm2 128.12974 /cm2 150.10151 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
71 42.427708 MeV 0 eV 0 147.80416 /cm2 147.80416 /cm2 125.06481 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
72 46.328238 MeV 0 eV 0 150.11597 /cm2 150.11597 /cm2 150.1127 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
73 49.561951 MeV 0 eV 0 150.12424 /cm2 150.12424 /cm2 150.12036 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
74 54.672122 MeV 2.0214018 MeV 1 154.90072 /cm2 154.90072 /cm2 150.14446 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
75 70.213532 MeV 7.476699 MeV 1 150.2127 /cm2 159.33503 /cm2 175.5833 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
76 84.159903 MeV 0 eV 0 139.28184 /cm2 155.84183 /cm2 150.20396 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
77 45.172563 MeV 0 eV 0 138.12914 /cm2 138.12914 /cm2 150.20291 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
78 43.922654 MeV 0 eV 0 125.05562 /cm2 125.05562 /cm2 125.05112 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
79 73.378306 MeV 621.78665 keV 1 154.83736 /cm2 154.83736 /cm2 125.05287 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
80 111.17153 MeV 1.8381013 MeV 1 165.21844 /cm2 177.72568 /cm2 175.14949 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
81 64.47296 MeV 1.737928 MeV 2 149.42287 /cm2 153.58472 /cm2 175.26352 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
82 49.465375 MeV 0 eV 0 148.79186 /cm2 148.79186 /cm2 125.16107 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
83 61.52551 MeV 0 eV 0 178.80383 /cm2 178.80383 /cm2 150.28842 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
84 79.763724 MeV 0 eV 0 156.28075 /cm2 156.28075 /cm2 189.38685 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
85 68.079941 MeV 0 eV 0 87.356303 /cm2 105.7002 /cm2 150.32073 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
86 8.250993 MeV 0 eV 0 100.04771 /cm2 100.04771 /cm2 100.04629 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
87 8.740486 MeV 0 eV 0 100.05273 /cm2 100.05273 /cm2 100.05125 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
88 9.0930303 MeV 0 eV 0 100.05569 /cm2 100.05569 /cm2 100.05412 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
89 9.20365 MeV 0 eV 0 100.0637 /cm2 100.0637 /cm2 100.06205 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
90 9.2503887 MeV 0 eV 0 100.07439 /cm2 100.07439 /cm2 100.07264 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
91 9.0731968 MeV 0 eV 0 100.07222 /cm2 100.07222 /cm2 100.07035 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
92 10.388569 MeV 0 eV 0 100.08099 /cm2 100.10177 /cm2 100.07899 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
93 9.9217647 MeV 0 eV 0 100.08204 /cm2 100.08204 /cm2 100.07989 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
94 7.8374745 MeV 0 eV 0 81.708354 /cm2 81.708354 /cm2 100.06754 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
95 7.4811247 MeV 0 eV 0 75.029823 /cm2 75.029823 /cm2 75.028158 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
96 5.5720015 MeV 0 eV 0 51.936178 /cm2 51.936178 /cm2 75.023203 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
97 5.6866783 MeV 0 eV 0 50.014041 /cm2 50.014041 /cm2 50.01237 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
98 5.7545186 MeV 0 eV 0 50.016614 /cm2 50.016614 /cm2 50.014646 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
99 6.3975082 MeV 0 eV 0 50.01218 /cm2 50.01218 /cm2 50.009799 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
100 7.1611589 MeV 0 eV 0 50.017234 /cm2 50.017234 /cm2 50.014179 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
101 8.5660203 MeV 971.61827 keV 1 61.703898 /cm2 61.703898 /cm2 50.011356 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
102 11.489061 MeV 1.9744003 MeV 1 72.060083 /cm2 72.060083 /cm2 93.297599 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
103 18.946054 MeV 0 eV 0 25.005595 /cm2 49.75606 /cm2 50.039305 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
104 1.2322186 MeV 0 eV 0 25.005607 /cm2 25.005607 /cm2 25.005586 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
105 1.2672466 MeV 0 eV 0 25.005406 /cm2 25.005406 /cm2 25.005384 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
106 1.3429561 MeV 0 eV 0 25.005124 /cm2 25.005124 /cm2 25.005103 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
107 2.6465828 MeV 0 eV 0 47.369009 /cm2 47.369009 /cm2 25.005487 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
108 2.651585 MeV 0 eV 0 50.015104 /cm2 50.015104 /cm2 50.014985 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
109 2.601996 MeV 0 eV 0 50.013624 /cm2 50.013624 /cm2 50.013504 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
110 2.6598788 MeV 0 eV 0 50.014082 /cm2 50.014082 /cm2 50.01396 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
111 2.6655473 MeV 0 eV 0 50.013306 /cm2 50.013306 /cm2 50.013184 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
112 2.6288244 MeV 0 eV 0 50.013202 /cm2 50.013202 /cm2 50.013079 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
113 2.414992 MeV 0 eV 0 50.013502 /cm2 50.013502 /cm2 50.013377 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
114 2.7426512 MeV 0 eV 0 50.013655 /cm2 50.013655 /cm2 50.013529 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
115 2.5649719 MeV 0 eV 0 50.014122 /cm2 50.014122 /cm2 50.013995 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
116 2.4708625 MeV 0 eV 0 50.01378 /cm2 50.01378 /cm2 50.013652 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
117 2.5178447 MeV 0 eV 0 50.012955 /cm2 50.012955 /cm2 50.012825 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
118 2.4819488 MeV 0 eV 0 50.01422 /cm2 50.01422 /cm2 50.01409 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
119 2.3959859 MeV 0 eV 0 50.01454 /cm2 50.01454 /cm2 50.014408 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
120 1.8157474 MeV 0 eV 0 32.959453 /cm2 32.959453 /cm2 50.016687 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
121 1.0575494 MeV 0 eV 0 25.005173 /cm2 25.005173 /cm2 25.00515 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
122 1.4959569 MeV 0 eV 0 25.005186 /cm2 25.005186 /cm2 25.005163 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
123 1.3192529 MeV 0 eV 0 25.004803 /cm2 25.004803 /cm2 25.00478 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
124 1.2647435 MeV 0 eV 0 25.005309 /cm2 25.005309 /cm2 25.005286 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
125 1.1061585 MeV 0 eV 0 25.003339 /cm2 25.003339 /cm2 25.003316 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
126 3.2485782 MeV 0 eV 0 47.318449 /cm2 47.318449 /cm2 25.003617 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
127 3.2976726 MeV 0 eV 0 50.031714 /cm2 50.031714 /cm2 50.03121 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
128 3.8621811 MeV 0 eV 0 50.028841 /cm2 50.028841 /cm2 50.028317 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
129 4.1096748 MeV 0 eV 0 50.021792 /cm2 50.021792 /cm2 50.021244 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
130 4.0107212 MeV 0 eV 0 50.019461 /cm2 50.019461 /cm2 50.018882 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
131 4.15587 MeV 0 eV 0 50.028498 /cm2 50.028498 /cm2 50.027887 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
132 3.7983438 MeV 0 eV 0 50.075423 /cm2 50.075423 /cm2 50.074772 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
133 3.724944 MeV 0 eV 0 50.093948 /cm2 50.093948 /cm2 50.093257 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
134 4.5591687 MeV 292.6487 keV 1 53.698231 /cm2 53.698231 /cm2 50.104218 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
135 4.4481685 MeV 0 eV 0 50.096416 /cm2 50.096416 /cm2 50.09563 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
136 3.4720932 MeV 0 eV 0 41.568636 /cm2 41.568636 /cm2 50.091138 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
137 1.3751113 MeV 0 eV 0 25.001543 /cm2 25.001543 /cm2 25.001518 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
138 1.4450918 MeV 0 eV 0 29.010146 /cm2 29.010146 /cm2 25.001438 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
139 1.0571295 MeV 0 eV 0 45.956899 /cm2 45.956899 /cm2 60.312165 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
140 51.339607 keV 0 eV 0 3.4168704 /cm2 3.4168704 /cm2 35.263945 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
141 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
142 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
143 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
144 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
145 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
146 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
147 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
148 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
149 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
150 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
151 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
152 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
153 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
154 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
155 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
156 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
157 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
158 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
159 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
160 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
161 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
162 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
163 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
164 47.808028 keV 0 eV 0 3.7413677 /cm2 3.7413677 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
165 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
166 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
167 3.9142093 MeV 1.2595671 MeV 2 0 /cm2 11.334993 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
168 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
169 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
170 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
171 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
172 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
173 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
174 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
175 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
176 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
177 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
178 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
179 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
180 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
181 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
182 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
183 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
184 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
185 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
186 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
187 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
188 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
189 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
190 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
191 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
192 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
193 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
194 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
195 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
196 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
197 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
198 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
199 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
=============================================
#
Graphics systems deleted.
Visualization Manager deleting...
UserDetectorConstruction deleted.
UserPhysicsList deleted.
UserRunAction deleted.
UserPrimaryGenerator deleted.
G4 kernel has come to Quit state.
G4SDManager deleted.
EventManager deleted.
UImanager deleted.
StateManager deleted.
RunManagerKernel is deleted.
RunManager is deleting.
@@ -0,0 +1,48 @@
# $Id: run2.mac,v 1.1 2005/11/24 01:44:18 asaim Exp $
#
# Macro file for "exampleRE02.cc"
#
# can be run in batch, without graphic
# or interactively: Idle> /control/execute run2.mac
#
/control/verbose 2
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
#/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/zoom 1.4
#
# Store trajectory
#/tracking/storeTrajectory 1
#/vis/scene/add/trajectories
#/vis/scene/endOfEventAction accumulate
#
#
# Beam Parameters
# for carbon ion.
# UIcommands from G4ParticleGun.
#
/gun/particle ion
/gun/ion 6 12
#
# Kinetic Energy.
# 195.MeV/u * 12(AtomicMass) = 2340. MeV
#
/gun/energy 2340. MeV
#
/gun/position 0 0 -100 cm
/gun/direction 0 0 1
#
/run/beamOn 10000
#
+716
View File
@@ -0,0 +1,716 @@
*************************************************************
Geant4 version Name: geant4-07-01 (30-June-2005)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
<-- RE02DetectorConstruction -----------------
Water Phantom Size (200,200,400)
Segmentation (100,100,200)
<---------------------------------------------
You are using the RE02PhysicsList
This PhysicsList originally comes from
example/extended/analysis/A01, and is modified
in Hadron Physics in order to involve Binary Cascade
at low energy region and inelastic process for generic ions.
Full set of particles (barions bosons and mesons) will be created and
Standard EM Physics and Low & High Energy parameterized models will be applied.
RE02PhysicsList is optimized for robustness
and not for any particular usage.
For the hadronic physics, educated guesses of physics list are prepared for various use cases.
When you will start REAL calculations for your own interest,
please consider the usage of hadronic_lists instead of RE02PhysicsLists.
More information can also be found from the Geant4 HyperNews.
http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
FukuiRenderer (DAWN)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
OpenGLImmediateXm (OGLIXm)
OpenGLStoredXm (OGLSXm)
VRML1 (VRML1)
VRML2 (VRML2)
The materials defined are :
***** Table : Nb of materials = 2 *****
Material: G4_AIR density: 1.205 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 303.921 m
---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole
---> Isotope: C Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 %
---> Isotope: C Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % fractionMass: 0.01 % Abundance 0.02 %
---> Element: N (N) Z = 7.0 N = 14.0 A = 14.01 g/mole
---> Isotope: N Z = 7 N = 14 A = 14.00 g/mole abundance: 99.63 %
---> Isotope: N Z = 7 N = 15 A = 15.00 g/mole abundance: 0.37 % fractionMass: 75.53 % Abundance 78.44 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 23.18 % Abundance 21.07 %
---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole
---> Isotope: Ar Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 %
---> Isotope: Ar Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 %
---> Isotope: Ar Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % fractionMass: 1.28 % Abundance 0.47 %
Material: G4_WATER density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.083 cm
---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole
---> Isotope: H Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 %
---> Isotope: H Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % fractionMass: 11.19 % Abundance 66.67 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 88.81 % Abundance 33.33 %
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 keV HighE 10 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 10 keV HighE 100 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 100 keV HighE 1 MeV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 MeV HighE 10 MeV
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
/vis/viewer/set/viewpointThetaPhi 90 180 deg
ERROR: G4VisCommandsViewerSet::SetNewValue: no current viewer.
/vis/viewer/zoom 1.4
ERROR: G4VisCommandsViewerZoom::SetNewValue: no current viewer.
#
# Store trajectory
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
/vis/scene/endOfEventAction accumulate
ERROR: No current sceneHandler. Please create one.
#
#
# Beam Parameters
# for electron
# UIcommands from G4ParticleGun.
#
/gun/particle e-
#
# Kinetic Energy.
/gun/energy 30. MeV
#
/gun/position 0 0 -100 cm
/gun/direction 0 0 1
#
/run/beamOn 10000
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
sampling secondary e+e- according to the Bethe-Heitler model
tables are built for gamma
Lambda tables from 1.022 MeV to 100 GeV in 100 bins.
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
Sampling according Klein-Nishina model
tables are built for gamma
Lambda tables from 100 eV to 100 GeV in 90 bins.
phot: Total cross sections from Sandia parametrisation.
msc: Model variant of multiple scattering for e-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
annihil: Heilter model of formula of annihilation into 2 photons
tables are built for e+
Lambda tables from 100 eV to 100 TeV in 120 bins.
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
msc: Model variant of multiple scattering for GenericIon
muIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
Region DefaultRegionForTheWorld
Materials : G4_AIR G4_WATER
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : G4_AIR
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 : G4_WATER
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 445090 kByte
Total CPU time elapsed for geometry optimisation: 24 seconds
Voxelisation: top CPU users:
Percent Total CPU System CPU Memory Volume
------- ---------- ---------- -------- ----------
98.99 23.52 2.12 445091k Phantom
Voxelisation: top memory users:
Percent Memory Heads Nodes Pointers Total CPU Volume
------- -------- ------ ------ -------- ---------- ----------
-3.66 445090k 79801 13840799 16020201 23.52 Phantom
++ PhantomSD/totalEDep id 0
++ PhantomSD/protonEDep id 1
++ PhantomSD/protonNStep id 2
++ PhantomSD/chargedPassCellFlux id 3
++ PhantomSD/chargedCellFlux id 4
++ PhantomSD/chargedSurfFlux id 5
++ PhantomSD/gammaSurfCurr000 id 6
++ PhantomSD/gammaSurfCurr001 id 7
++ PhantomSD/gammaSurfCurr002 id 8
++ PhantomSD/gammaSurfCurr003 id 9
### Run 0 start.
Start Run processing.
>>> Event 0
>>> Event 1
>>> Event 2
>>> Event 3
>>> Event 4
>>> Event 5
>>> Event 6
>>> Event 7
>>> Event 8
>>> Event 9
>>> Event 10
>>> Event 11
>>> Event 12
>>> Event 13
>>> Event 14
>>> Event 15
>>> Event 16
>>> Event 17
>>> Event 18
>>> Event 19
>>> Event 20
>>> Event 21
>>> Event 22
>>> Event 23
>>> Event 24
>>> Event 25
>>> Event 26
>>> Event 27
>>> Event 28
>>> Event 29
>>> Event 30
>>> Event 31
>>> Event 32
>>> Event 33
>>> Event 34
>>> Event 35
>>> Event 36
>>> Event 37
>>> Event 38
>>> Event 39
>>> Event 40
>>> Event 41
>>> Event 42
>>> Event 43
>>> Event 44
>>> Event 45
>>> Event 46
>>> Event 47
>>> Event 48
>>> Event 49
>>> Event 50
>>> Event 51
>>> Event 52
>>> Event 53
>>> Event 54
>>> Event 55
>>> Event 56
>>> Event 57
>>> Event 58
>>> Event 59
>>> Event 60
>>> Event 61
>>> Event 62
>>> Event 63
>>> Event 64
>>> Event 65
>>> Event 66
>>> Event 67
>>> Event 68
>>> Event 69
>>> Event 70
>>> Event 71
>>> Event 72
>>> Event 73
>>> Event 74
>>> Event 75
>>> Event 76
>>> Event 77
>>> Event 78
>>> Event 79
>>> Event 80
>>> Event 81
>>> Event 82
>>> Event 83
>>> Event 84
>>> Event 85
>>> Event 86
>>> Event 87
>>> Event 88
>>> Event 89
>>> Event 90
>>> Event 91
>>> Event 92
>>> Event 93
>>> Event 94
>>> Event 95
>>> Event 96
>>> Event 97
>>> Event 98
>>> Event 99
>>> Event 100
>>> Event 200
>>> Event 300
>>> Event 400
>>> Event 500
>>> Event 600
>>> Event 700
>>> Event 800
>>> Event 900
>>> Event 1000
>>> Event 1100
>>> Event 1200
>>> Event 1300
>>> Event 1400
>>> Event 1500
>>> Event 1600
>>> Event 1700
>>> Event 1800
>>> Event 1900
>>> Event 2000
>>> Event 2100
>>> Event 2200
>>> Event 2300
>>> Event 2400
>>> Event 2500
>>> Event 2600
>>> Event 2700
>>> Event 2800
>>> Event 2900
>>> Event 3000
>>> Event 3100
>>> Event 3200
>>> Event 3300
>>> Event 3400
>>> Event 3500
>>> Event 3600
>>> Event 3700
>>> Event 3800
>>> Event 3900
>>> Event 4000
>>> Event 4100
>>> Event 4200
>>> Event 4300
>>> Event 4400
>>> Event 4500
>>> Event 4600
>>> Event 4700
>>> Event 4800
>>> Event 4900
>>> Event 5000
>>> Event 5100
>>> Event 5200
>>> Event 5300
>>> Event 5400
>>> Event 5500
>>> Event 5600
>>> Event 5700
>>> Event 5800
>>> Event 5900
>>> Event 6000
>>> Event 6100
>>> Event 6200
>>> Event 6300
>>> Event 6400
>>> Event 6500
>>> Event 6600
>>> Event 6700
>>> Event 6800
>>> Event 6900
>>> Event 7000
>>> Event 7100
>>> Event 7200
>>> Event 7300
>>> Event 7400
>>> Event 7500
>>> Event 7600
>>> Event 7700
>>> Event 7800
>>> Event 7900
>>> Event 8000
>>> Event 8100
>>> Event 8200
>>> Event 8300
>>> Event 8400
>>> Event 8500
>>> Event 8600
>>> Event 8700
>>> Event 8800
>>> Event 8900
>>> Event 9000
>>> Event 9100
>>> Event 9200
>>> Event 9300
>>> Event 9400
>>> Event 9500
>>> Event 9600
>>> Event 9700
>>> Event 9800
>>> Event 9900
Run terminated.
Run Summary
Number of events processed : 10000
User=96.11s Real=159.2s Sys=6.06s
=============================================================
Number of event processed : 10000
=============================================================
#Z Cell# totalEDep protonEDep protonNStep chargedPassCellFlux chargedCellFlux chargedSurfFlux gammaSurfCurr000 gammaSurfCurr001 gammaSurfCurr002 gammaSurfCurr003
0 40.238056 MeV 0 eV 0 2754.5248 /cm2 2806.2455 /cm2 2775.4848 /cm2 25 /cm2 50 /cm2 0 /cm2 0 /cm2
1 41.194189 MeV 0 eV 0 2799.8965 /cm2 2893.4853 /cm2 2816.0498 /cm2 0 /cm2 75 /cm2 75 /cm2 75 /cm2
2 41.2879 MeV 0 eV 0 2771.4571 /cm2 2880.1938 /cm2 2879.6144 /cm2 0 /cm2 125 /cm2 125 /cm2 100 /cm2
3 42.675758 MeV 0 eV 0 2763.6281 /cm2 2943.3678 /cm2 2690.81 /cm2 0 /cm2 125 /cm2 100 /cm2 125 /cm2
4 42.622231 MeV 0 eV 0 2859.454 /cm2 2930.5965 /cm2 3036.9119 /cm2 0 /cm2 150 /cm2 175 /cm2 150 /cm2
5 41.648256 MeV 0 eV 0 2848.5172 /cm2 2979.7207 /cm2 2881.2145 /cm2 0 /cm2 175 /cm2 225 /cm2 125 /cm2
6 41.527038 MeV 0 eV 0 2746.5968 /cm2 2909.2385 /cm2 2795.9558 /cm2 25 /cm2 225 /cm2 400 /cm2 175 /cm2
7 40.947212 MeV 0 eV 0 2821.0283 /cm2 2945.3108 /cm2 2777.9642 /cm2 0 /cm2 275 /cm2 300 /cm2 225 /cm2
8 40.840795 MeV 0 eV 0 2773.1476 /cm2 2875.3566 /cm2 2947.5474 /cm2 0 /cm2 275 /cm2 400 /cm2 275 /cm2
9 40.757139 MeV 0 eV 0 2877.3545 /cm2 2944.9452 /cm2 3149.1646 /cm2 0 /cm2 250 /cm2 400 /cm2 350 /cm2
10 41.466714 MeV 0 eV 0 2736.1458 /cm2 2854.257 /cm2 3456.2745 /cm2 0 /cm2 275 /cm2 450 /cm2 375 /cm2
11 40.796966 MeV 0 eV 0 2773.1918 /cm2 2907.5341 /cm2 3228.7775 /cm2 0 /cm2 200 /cm2 575 /cm2 425 /cm2
12 40.9044 MeV 0 eV 0 2908.6865 /cm2 2977.7719 /cm2 3062.0162 /cm2 0 /cm2 200 /cm2 500 /cm2 400 /cm2
13 37.681889 MeV 0 eV 0 2714.9963 /cm2 2821.4166 /cm2 2911.0598 /cm2 0 /cm2 275 /cm2 600 /cm2 500 /cm2
14 35.914418 MeV 0 eV 0 2459.6884 /cm2 2607.9944 /cm2 2658.986 /cm2 25 /cm2 325 /cm2 600 /cm2 500 /cm2
15 31.791629 MeV 0 eV 0 2166.9101 /cm2 2250.6561 /cm2 2822.9397 /cm2 25 /cm2 400 /cm2 750 /cm2 450 /cm2
16 31.94854 MeV 0 eV 0 2255.057 /cm2 2336.9247 /cm2 2387.7188 /cm2 25 /cm2 325 /cm2 625 /cm2 525 /cm2
17 32.812416 MeV 0 eV 0 2208.3635 /cm2 2339.2054 /cm2 2301.388 /cm2 0 /cm2 425 /cm2 625 /cm2 475 /cm2
18 31.389977 MeV 0 eV 0 2163.3468 /cm2 2294.6304 /cm2 2287.8554 /cm2 0 /cm2 375 /cm2 750 /cm2 350 /cm2
19 32.791711 MeV 0 eV 0 2258.5926 /cm2 2334.4143 /cm2 2256.367 /cm2 0 /cm2 450 /cm2 825 /cm2 350 /cm2
20 30.060065 MeV 0 eV 0 2037.8287 /cm2 2157.514 /cm2 1933.8145 /cm2 0 /cm2 475 /cm2 850 /cm2 275 /cm2
21 29.997031 MeV 0 eV 0 1983.8555 /cm2 2091.2671 /cm2 2134.1901 /cm2 25 /cm2 525 /cm2 1000 /cm2 350 /cm2
22 26.505228 MeV 0 eV 0 1867.3171 /cm2 1941.04 /cm2 2089.115 /cm2 0 /cm2 400 /cm2 1025 /cm2 400 /cm2
23 23.939127 MeV 0 eV 0 1626.2629 /cm2 1693.38 /cm2 2129.054 /cm2 0 /cm2 500 /cm2 1000 /cm2 450 /cm2
24 23.258299 MeV 0 eV 0 1547.4106 /cm2 1602.3188 /cm2 4930.2175 /cm2 25 /cm2 450 /cm2 1000 /cm2 400 /cm2
25 19.45655 MeV 0 eV 0 1371.3307 /cm2 1412.0138 /cm2 5506.2076 /cm2 0 /cm2 550 /cm2 950 /cm2 575 /cm2
26 20.149025 MeV 0 eV 0 1322.6611 /cm2 1390.8551 /cm2 1312.4861 /cm2 25 /cm2 575 /cm2 750 /cm2 675 /cm2
27 20.378829 MeV 0 eV 0 1327.2442 /cm2 1431.4818 /cm2 1310.485 /cm2 25 /cm2 550 /cm2 975 /cm2 575 /cm2
28 24.370345 MeV 0 eV 0 1528.8832 /cm2 1643.2222 /cm2 1568.7751 /cm2 0 /cm2 475 /cm2 850 /cm2 425 /cm2
29 21.97834 MeV 0 eV 0 1476.5124 /cm2 1553.4961 /cm2 1581.0556 /cm2 25 /cm2 400 /cm2 725 /cm2 425 /cm2
30 24.434494 MeV 0 eV 0 1541.3773 /cm2 1683.7489 /cm2 1628.9524 /cm2 0 /cm2 425 /cm2 600 /cm2 350 /cm2
31 20.476765 MeV 0 eV 0 1463.5121 /cm2 1493.6947 /cm2 1552.3657 /cm2 0 /cm2 500 /cm2 775 /cm2 425 /cm2
32 16.552912 MeV 0 eV 0 1093.6949 /cm2 1134.0384 /cm2 1343.2292 /cm2 0 /cm2 450 /cm2 700 /cm2 475 /cm2
33 16.318346 MeV 0 eV 0 1153.5066 /cm2 1219.316 /cm2 1085.7162 /cm2 25 /cm2 325 /cm2 825 /cm2 450 /cm2
34 18.08827 MeV 0 eV 0 1154.5583 /cm2 1209.6824 /cm2 1348.4902 /cm2 0 /cm2 400 /cm2 825 /cm2 400 /cm2
35 16.829554 MeV 0 eV 0 1049.1561 /cm2 1162.0256 /cm2 1148.1826 /cm2 0 /cm2 400 /cm2 850 /cm2 350 /cm2
36 14.59147 MeV 0 eV 0 939.24171 /cm2 1010.5249 /cm2 898.07409 /cm2 0 /cm2 350 /cm2 750 /cm2 475 /cm2
37 14.066373 MeV 0 eV 0 808.58767 /cm2 924.88634 /cm2 1216.7115 /cm2 0 /cm2 225 /cm2 725 /cm2 475 /cm2
38 8.5671281 MeV 0 eV 0 630.46215 /cm2 632.09423 /cm2 739.70277 /cm2 0 /cm2 225 /cm2 725 /cm2 475 /cm2
39 9.4985197 MeV 0 eV 0 566.85498 /cm2 610.61938 /cm2 531.27698 /cm2 0 /cm2 200 /cm2 700 /cm2 400 /cm2
40 8.9311683 MeV 0 eV 0 606.87264 /cm2 637.95297 /cm2 711.10194 /cm2 0 /cm2 200 /cm2 700 /cm2 450 /cm2
41 10.230323 MeV 0 eV 0 738.76546 /cm2 743.2449 /cm2 670.92192 /cm2 25 /cm2 275 /cm2 750 /cm2 500 /cm2
42 11.500963 MeV 0 eV 0 817.30456 /cm2 817.31204 /cm2 1332.7524 /cm2 0 /cm2 300 /cm2 650 /cm2 325 /cm2
43 7.7339775 MeV 0 eV 0 494.08618 /cm2 531.02649 /cm2 601.721 /cm2 0 /cm2 200 /cm2 575 /cm2 400 /cm2
44 8.3123746 MeV 0 eV 0 514.89283 /cm2 592.28394 /cm2 430.77332 /cm2 0 /cm2 200 /cm2 550 /cm2 250 /cm2
45 7.1793133 MeV 0 eV 0 449.53028 /cm2 494.85618 /cm2 747.00889 /cm2 0 /cm2 175 /cm2 700 /cm2 250 /cm2
46 8.037655 MeV 0 eV 0 551.19097 /cm2 569.15519 /cm2 486.19477 /cm2 0 /cm2 150 /cm2 700 /cm2 225 /cm2
47 7.0168484 MeV 0 eV 0 507.94682 /cm2 513.69897 /cm2 738.9718 /cm2 0 /cm2 200 /cm2 725 /cm2 250 /cm2
48 6.1495846 MeV 0 eV 0 404.53446 /cm2 426.84216 /cm2 414.07586 /cm2 25 /cm2 250 /cm2 575 /cm2 250 /cm2
49 5.4008816 MeV 0 eV 0 320.80109 /cm2 342.54853 /cm2 430.17971 /cm2 0 /cm2 150 /cm2 325 /cm2 300 /cm2
50 5.8367608 MeV 0 eV 0 336.65702 /cm2 379.77763 /cm2 304.63114 /cm2 0 /cm2 100 /cm2 475 /cm2 375 /cm2
51 5.266217 MeV 0 eV 0 330.86874 /cm2 363.04554 /cm2 864.86167 /cm2 0 /cm2 175 /cm2 600 /cm2 250 /cm2
52 6.7661788 MeV 0 eV 0 438.06645 /cm2 465.8097 /cm2 392.81116 /cm2 0 /cm2 150 /cm2 375 /cm2 325 /cm2
53 4.3272488 MeV 0 eV 0 324.83246 /cm2 335.89457 /cm2 489.49415 /cm2 0 /cm2 225 /cm2 325 /cm2 275 /cm2
54 4.2771145 MeV 0 eV 0 323.29579 /cm2 323.31551 /cm2 277.25973 /cm2 0 /cm2 225 /cm2 325 /cm2 300 /cm2
55 4.9028638 MeV 0 eV 0 270.48524 /cm2 303.16991 /cm2 231.52403 /cm2 0 /cm2 325 /cm2 200 /cm2 350 /cm2
56 4.9691084 MeV 0 eV 0 323.708 /cm2 356.90264 /cm2 538.51825 /cm2 0 /cm2 225 /cm2 225 /cm2 350 /cm2
57 3.6317394 MeV 0 eV 0 215.92425 /cm2 250.8606 /cm2 312.09944 /cm2 0 /cm2 200 /cm2 225 /cm2 325 /cm2
58 4.4024811 MeV 0 eV 0 243.06569 /cm2 289.72861 /cm2 214.65046 /cm2 0 /cm2 175 /cm2 250 /cm2 275 /cm2
59 2.7979065 MeV 0 eV 0 166.21807 /cm2 166.21807 /cm2 149.94926 /cm2 0 /cm2 200 /cm2 225 /cm2 125 /cm2
60 2.8611252 MeV 0 eV 0 196.73444 /cm2 196.73444 /cm2 518.83942 /cm2 0 /cm2 275 /cm2 175 /cm2 200 /cm2
61 2.6101907 MeV 0 eV 0 182.22573 /cm2 182.22654 /cm2 211.12244 /cm2 0 /cm2 200 /cm2 225 /cm2 200 /cm2
62 3.0810186 MeV 0 eV 0 200.09617 /cm2 207.45273 /cm2 284.14927 /cm2 0 /cm2 150 /cm2 300 /cm2 225 /cm2
63 3.0250381 MeV 0 eV 0 182.32672 /cm2 199.51043 /cm2 170.78567 /cm2 0 /cm2 225 /cm2 100 /cm2 250 /cm2
64 2.2608581 MeV 0 eV 0 169.30448 /cm2 169.30448 /cm2 146.29715 /cm2 0 /cm2 125 /cm2 100 /cm2 275 /cm2
65 2.4324817 MeV 0 eV 0 123.58873 /cm2 140.67484 /cm2 189.26793 /cm2 0 /cm2 150 /cm2 125 /cm2 225 /cm2
66 2.1516246 MeV 0 eV 0 159.88479 /cm2 159.88479 /cm2 119.50271 /cm2 0 /cm2 75 /cm2 125 /cm2 225 /cm2
67 1.870419 MeV 0 eV 0 124.20861 /cm2 124.20861 /cm2 136.94483 /cm2 0 /cm2 50 /cm2 125 /cm2 225 /cm2
68 480.85498 keV 0 eV 0 36.739382 /cm2 36.739382 /cm2 80.545328 /cm2 0 /cm2 75 /cm2 75 /cm2 175 /cm2
69 504.92629 keV 0 eV 0 41.060098 /cm2 41.060098 /cm2 31.521252 /cm2 0 /cm2 125 /cm2 75 /cm2 150 /cm2
70 324.94675 keV 0 eV 0 3.0909979 /cm2 10.944038 /cm2 34.815891 /cm2 0 /cm2 75 /cm2 100 /cm2 175 /cm2
71 1.3171374 MeV 0 eV 0 60.241023 /cm2 66.837224 /cm2 0 /cm2 0 /cm2 75 /cm2 125 /cm2 200 /cm2
72 496.14488 keV 0 eV 0 37.744081 /cm2 37.826632 /cm2 82.15838 /cm2 0 /cm2 100 /cm2 150 /cm2 250 /cm2
73 372.49757 keV 0 eV 0 7.2023623 /cm2 19.093179 /cm2 45.106727 /cm2 0 /cm2 100 /cm2 125 /cm2 225 /cm2
74 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2 200 /cm2 200 /cm2
75 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 175 /cm2 250 /cm2
76 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 175 /cm2 225 /cm2
77 427.08152 keV 0 eV 0 27.030886 /cm2 28.48377 /cm2 0 /cm2 0 /cm2 75 /cm2 100 /cm2 225 /cm2
78 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 250 /cm2 250 /cm2
79 28.937883 keV 0 eV 0 0 /cm2 0.20125527 /cm2 0 /cm2 0 /cm2 25 /cm2 125 /cm2 225 /cm2
80 465.75067 eV 0 eV 0 0 /cm2 0.00032830793 /cm2 0 /cm2 0 /cm2 75 /cm2 100 /cm2 200 /cm2
81 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 100 /cm2 225 /cm2
82 3.3547752 keV 0 eV 0 0 /cm2 0.0049495756 /cm2 0 /cm2 0 /cm2 25 /cm2 150 /cm2 225 /cm2
83 476.79631 keV 0 eV 0 37.874067 /cm2 37.874067 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 200 /cm2
84 160.18165 keV 0 eV 0 15.65208 /cm2 15.65208 /cm2 26.081638 /cm2 0 /cm2 0 /cm2 125 /cm2 200 /cm2
85 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 100 /cm2 200 /cm2
86 22.295013 keV 0 eV 0 0 /cm2 0.13126697 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2 175 /cm2
87 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 175 /cm2
88 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 175 /cm2
89 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 200 /cm2 150 /cm2
90 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 125 /cm2
91 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 125 /cm2
92 3.8558096 keV 0 eV 0 0 /cm2 0.0062165403 /cm2 0 /cm2 0 /cm2 25 /cm2 125 /cm2 125 /cm2
93 33.210523 keV 0 eV 0 0 /cm2 2.3350406 /cm2 0 /cm2 0 /cm2 50 /cm2 125 /cm2 125 /cm2
94 546.76003 keV 0 eV 0 18.751869 /cm2 30.512755 /cm2 38.520944 /cm2 0 /cm2 25 /cm2 75 /cm2 125 /cm2
95 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2
96 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 125 /cm2
97 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 125 /cm2
98 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 100 /cm2
99 94.303833 keV 0 eV 0 0 /cm2 2.7866016 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 75 /cm2
100 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 100 /cm2
101 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 25 /cm2 75 /cm2
102 300.44449 keV 0 eV 0 0 /cm2 9.8993737 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
103 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2
104 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 125 /cm2
105 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2 150 /cm2
106 263.23814 keV 0 eV 0 20.998061 /cm2 21.060685 /cm2 0 /cm2 0 /cm2 50 /cm2 25 /cm2 125 /cm2
107 384.39696 keV 0 eV 0 30.708781 /cm2 30.708781 /cm2 27.366148 /cm2 0 /cm2 50 /cm2 75 /cm2 125 /cm2
108 183.21053 keV 0 eV 0 16.053002 /cm2 16.053002 /cm2 155.36564 /cm2 0 /cm2 50 /cm2 50 /cm2 100 /cm2
109 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 50 /cm2 100 /cm2
110 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2 100 /cm2
111 118.43913 keV 0 eV 0 8.4150251 /cm2 8.4150251 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2 75 /cm2
112 403.26716 keV 0 eV 0 0.42013255 /cm2 14.232242 /cm2 25.879392 /cm2 0 /cm2 0 /cm2 75 /cm2 100 /cm2
113 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 100 /cm2
114 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 100 /cm2
115 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 100 /cm2
116 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 100 /cm2
117 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 100 /cm2
118 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 100 /cm2
119 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2
120 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2
121 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2
122 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 50 /cm2
123 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 75 /cm2
124 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
125 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
126 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
127 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
128 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
129 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
130 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 75 /cm2
131 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 75 /cm2
132 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 50 /cm2
133 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 50 /cm2
134 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2
135 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
136 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 75 /cm2
137 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 75 /cm2
138 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 75 /cm2
139 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 75 /cm2
140 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
141 2.9436204 keV 0 eV 0 0.13893323 /cm2 0.13893323 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
142 725.73212 keV 0 eV 0 0 /cm2 38.776776 /cm2 31.200332 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
143 74.277052 keV 0 eV 0 6.4889814 /cm2 6.4889814 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
144 582.24787 keV 0 eV 0 30.972891 /cm2 30.972891 /cm2 26.847672 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
145 678.68142 keV 0 eV 0 51.338785 /cm2 51.338785 /cm2 50.956346 /cm2 0 /cm2 25 /cm2 0 /cm2 25 /cm2
146 851.38853 keV 0 eV 0 37.584886 /cm2 54.033056 /cm2 55.729277 /cm2 0 /cm2 25 /cm2 0 /cm2 75 /cm2
147 82.940973 keV 0 eV 0 4.9907094 /cm2 4.9907094 /cm2 39.602115 /cm2 0 /cm2 25 /cm2 25 /cm2 50 /cm2
148 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 50 /cm2
149 208.77026 keV 0 eV 0 16.337579 /cm2 16.337579 /cm2 127.94464 /cm2 0 /cm2 0 /cm2 50 /cm2 50 /cm2
150 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
151 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
152 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
153 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
154 216.09864 keV 0 eV 0 15.179382 /cm2 15.179382 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
155 503.07781 keV 0 eV 0 25.950565 /cm2 33.105687 /cm2 25.699544 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
156 304.63732 keV 0 eV 0 27.024474 /cm2 27.024474 /cm2 26.826074 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
157 204.43899 keV 0 eV 0 17.098925 /cm2 17.098925 /cm2 27.173296 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
158 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2 0 /cm2
159 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2 0 /cm2
160 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 50 /cm2 0 /cm2
161 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2
162 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2
163 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
164 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
165 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2
166 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
167 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
168 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
169 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
170 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
171 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 25 /cm2
172 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
173 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
174 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
175 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
176 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
177 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
178 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
179 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
180 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
181 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
182 62.691242 keV 0 eV 0 5.1384317 /cm2 5.1384317 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 25 /cm2
183 153.03232 keV 0 eV 0 0 /cm2 10.389716 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
184 308.84397 keV 0 eV 0 25.67308 /cm2 25.67308 /cm2 25.339672 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2
185 344.75127 keV 0 eV 0 25.501364 /cm2 25.501364 /cm2 25.135394 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2
186 289.27139 keV 0 eV 0 24.811629 /cm2 24.811629 /cm2 25.335509 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2
187 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
188 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
189 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
190 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
191 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
192 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
193 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
194 73.730222 keV 0 eV 0 5.2381028 /cm2 5.2381028 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
195 317.48887 keV 0 eV 0 0 /cm2 13.529465 /cm2 53.670396 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
196 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
197 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
198 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
199 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2
=============================================
#
Graphics systems deleted.
Visualization Manager deleting...
UserDetectorConstruction deleted.
UserPhysicsList deleted.
UserRunAction deleted.
UserPrimaryGenerator deleted.
G4 kernel has come to Quit state.
G4SDManager deleted.
EventManager deleted.
UImanager deleted.
StateManager deleted.
RunManagerKernel is deleted.
RunManager is deleting.
@@ -0,0 +1,45 @@
# $Id: run3.mac,v 1.1 2005/11/24 01:44:18 asaim Exp $
#
# Macro file for "exampleRE02.cc"
#
# can be run in batch, without graphic
# or interactively: Idle> /control/execute run2.mac
#
/control/verbose 2
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
/vis/viewer/set/viewpointThetaPhi 90 180 deg
/vis/viewer/zoom 1.4
#
# Store trajectory
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
/vis/scene/endOfEventAction accumulate
#
#
# Beam Parameters
# for electron
# UIcommands from G4ParticleGun.
#
/gun/particle e-
#
# Kinetic Energy.
/gun/energy 30. MeV
#
/gun/position 0 0 -100 cm
/gun/direction 0 0 1
#
/run/beamOn 10000
#
+718
View File
@@ -0,0 +1,718 @@
*************************************************************
Geant4 version Name: geant4-07-01 (30-June-2005)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
<-- RE02DetectorConstruction -----------------
Water Phantom Size (200,200,400)
Segmentation (100,100,200)
<---------------------------------------------
You are using the RE02PhysicsList
This PhysicsList originally comes from
example/extended/analysis/A01, and is modified
in Hadron Physics in order to involve Binary Cascade
at low energy region and inelastic process for generic ions.
Full set of particles (barions bosons and mesons) will be created and
Standard EM Physics and Low & High Energy parameterized models will be applied.
RE02PhysicsList is optimized for robustness
and not for any particular usage.
For the hadronic physics, educated guesses of physics list are prepared for various use cases.
When you will start REAL calculations for your own interest,
please consider the usage of hadronic_lists instead of RE02PhysicsLists.
More information can also be found from the Geant4 HyperNews.
http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index
Visualization Manager instantiating...
Visualization Manager initialising...
Registering graphics systems...
You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
FukuiRenderer (DAWN)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
OpenGLImmediateXm (OGLIXm)
OpenGLStoredXm (OGLSXm)
VRML1 (VRML1)
VRML2 (VRML2)
The materials defined are :
***** Table : Nb of materials = 2 *****
Material: G4_AIR density: 1.205 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 303.921 m
---> Element: C (C) Z = 6.0 N = 12.0 A = 12.01 g/mole
---> Isotope: C Z = 6 N = 12 A = 12.00 g/mole abundance: 98.93 %
---> Isotope: C Z = 6 N = 13 A = 13.00 g/mole abundance: 1.07 % fractionMass: 0.01 % Abundance 0.02 %
---> Element: N (N) Z = 7.0 N = 14.0 A = 14.01 g/mole
---> Isotope: N Z = 7 N = 14 A = 14.00 g/mole abundance: 99.63 %
---> Isotope: N Z = 7 N = 15 A = 15.00 g/mole abundance: 0.37 % fractionMass: 75.53 % Abundance 78.44 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 23.18 % Abundance 21.07 %
---> Element: Ar (Ar) Z = 18.0 N = 40.0 A = 39.95 g/mole
---> Isotope: Ar Z = 18 N = 36 A = 35.97 g/mole abundance: 0.34 %
---> Isotope: Ar Z = 18 N = 38 A = 37.96 g/mole abundance: 0.06 %
---> Isotope: Ar Z = 18 N = 40 A = 39.96 g/mole abundance: 99.60 % fractionMass: 1.28 % Abundance 0.47 %
Material: G4_WATER density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.083 cm
---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole
---> Isotope: H Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 %
---> Isotope: H Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % fractionMass: 11.19 % Abundance 66.67 %
---> Element: O (O) Z = 8.0 N = 16.0 A = 16.00 g/mole
---> Isotope: O Z = 8 N = 16 A = 15.99 g/mole abundance: 99.76 %
---> Isotope: O Z = 8 N = 17 A = 17.00 g/mole abundance: 0.04 %
---> Isotope: O Z = 8 N = 18 A = 18.00 g/mole abundance: 0.20 % fractionMass: 88.81 % Abundance 33.33 %
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 keV HighE 10 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 10 keV HighE 100 keV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 100 keV HighE 1 MeV
----G4SDParticleFileter particle list------
gamma
-------------------------------------------
G4SDKineticEnergyFilter:: gammaE filter LowE 1 MeV HighE 10 MeV
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
/vis/viewer/set/viewpointThetaPhi 90 180 deg
ERROR: G4VisCommandsViewerSet::SetNewValue: no current viewer.
/vis/viewer/zoom 1.4
ERROR: G4VisCommandsViewerZoom::SetNewValue: no current viewer.
#
# Store trajectory
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
/vis/scene/endOfEventAction accumulate
ERROR: No current sceneHandler. Please create one.
#
#
# Beam Parameters
# for electron
# UIcommands from G4ParticleGun.
#
/gun/particle gamma
#
# Kinetic Energy.
#/gun/energy 35. keV
/gun/energy 60. keV
#/gun/energy 356. keV
#
/gun/position 0 0 -100. cm
/gun/direction 0 0 1
#
/run/beamOn 10000
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
sampling secondary e+e- according to the Bethe-Heitler model
tables are built for gamma
Lambda tables from 1.022 MeV to 100 GeV in 100 bins.
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
Sampling according Klein-Nishina model
tables are built for gamma
Lambda tables from 100 eV to 100 GeV in 90 bins.
phot: Total cross sections from Sandia parametrisation.
msc: Model variant of multiple scattering for e-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
eIoni: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
eIoni: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
eBrem: tables are built for e+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Total cross sections from a parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
annihil: Heilter model of formula of annihilation into 2 photons
tables are built for e+
Lambda tables from 100 eV to 100 TeV in 120 bins.
hIoni: tables are built for proton
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for proton
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
ionIoni: tables are built for GenericIon
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Scaling relation is used to proton dE/dx and range
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
msc: Model variant of multiple scattering for GenericIon
muIoni: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
msc: Model variant of multiple scattering for mu+
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
muBrems: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu+
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muIoni: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
radiative corrections for E > 1 GeV
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
muBrems: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
muPairProd: tables are built for mu-
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
Lambda tables from threshold to 100 TeV in 120 bins.
Parametrised model
msc: Model variant of multiple scattering for pi-
Lambda tables from 100 eV to 100 TeV in 120 bins.
Boundary algorithm is active with facrange= 0.199
Region DefaultRegionForTheWorld
Materials : G4_AIR G4_WATER
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : G4_AIR
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 : G4_WATER
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 445090 kByte
Total CPU time elapsed for geometry optimisation: 23 seconds
Voxelisation: top CPU users:
Percent Total CPU System CPU Memory Volume
------- ---------- ---------- -------- ----------
98.94 22.40 2.21 445091k Phantom
Voxelisation: top memory users:
Percent Memory Heads Nodes Pointers Total CPU Volume
------- -------- ------ ------ -------- ---------- ----------
-3.66 445090k 79801 13840799 16020201 22.40 Phantom
++ PhantomSD/totalEDep id 0
++ PhantomSD/protonEDep id 1
++ PhantomSD/protonNStep id 2
++ PhantomSD/chargedPassCellFlux id 3
++ PhantomSD/chargedCellFlux id 4
++ PhantomSD/chargedSurfFlux id 5
++ PhantomSD/gammaSurfCurr000 id 6
++ PhantomSD/gammaSurfCurr001 id 7
++ PhantomSD/gammaSurfCurr002 id 8
++ PhantomSD/gammaSurfCurr003 id 9
### Run 0 start.
Start Run processing.
>>> Event 0
>>> Event 1
>>> Event 2
>>> Event 3
>>> Event 4
>>> Event 5
>>> Event 6
>>> Event 7
>>> Event 8
>>> Event 9
>>> Event 10
>>> Event 11
>>> Event 12
>>> Event 13
>>> Event 14
>>> Event 15
>>> Event 16
>>> Event 17
>>> Event 18
>>> Event 19
>>> Event 20
>>> Event 21
>>> Event 22
>>> Event 23
>>> Event 24
>>> Event 25
>>> Event 26
>>> Event 27
>>> Event 28
>>> Event 29
>>> Event 30
>>> Event 31
>>> Event 32
>>> Event 33
>>> Event 34
>>> Event 35
>>> Event 36
>>> Event 37
>>> Event 38
>>> Event 39
>>> Event 40
>>> Event 41
>>> Event 42
>>> Event 43
>>> Event 44
>>> Event 45
>>> Event 46
>>> Event 47
>>> Event 48
>>> Event 49
>>> Event 50
>>> Event 51
>>> Event 52
>>> Event 53
>>> Event 54
>>> Event 55
>>> Event 56
>>> Event 57
>>> Event 58
>>> Event 59
>>> Event 60
>>> Event 61
>>> Event 62
>>> Event 63
>>> Event 64
>>> Event 65
>>> Event 66
>>> Event 67
>>> Event 68
>>> Event 69
>>> Event 70
>>> Event 71
>>> Event 72
>>> Event 73
>>> Event 74
>>> Event 75
>>> Event 76
>>> Event 77
>>> Event 78
>>> Event 79
>>> Event 80
>>> Event 81
>>> Event 82
>>> Event 83
>>> Event 84
>>> Event 85
>>> Event 86
>>> Event 87
>>> Event 88
>>> Event 89
>>> Event 90
>>> Event 91
>>> Event 92
>>> Event 93
>>> Event 94
>>> Event 95
>>> Event 96
>>> Event 97
>>> Event 98
>>> Event 99
>>> Event 100
>>> Event 200
>>> Event 300
>>> Event 400
>>> Event 500
>>> Event 600
>>> Event 700
>>> Event 800
>>> Event 900
>>> Event 1000
>>> Event 1100
>>> Event 1200
>>> Event 1300
>>> Event 1400
>>> Event 1500
>>> Event 1600
>>> Event 1700
>>> Event 1800
>>> Event 1900
>>> Event 2000
>>> Event 2100
>>> Event 2200
>>> Event 2300
>>> Event 2400
>>> Event 2500
>>> Event 2600
>>> Event 2700
>>> Event 2800
>>> Event 2900
>>> Event 3000
>>> Event 3100
>>> Event 3200
>>> Event 3300
>>> Event 3400
>>> Event 3500
>>> Event 3600
>>> Event 3700
>>> Event 3800
>>> Event 3900
>>> Event 4000
>>> Event 4100
>>> Event 4200
>>> Event 4300
>>> Event 4400
>>> Event 4500
>>> Event 4600
>>> Event 4700
>>> Event 4800
>>> Event 4900
>>> Event 5000
>>> Event 5100
>>> Event 5200
>>> Event 5300
>>> Event 5400
>>> Event 5500
>>> Event 5600
>>> Event 5700
>>> Event 5800
>>> Event 5900
>>> Event 6000
>>> Event 6100
>>> Event 6200
>>> Event 6300
>>> Event 6400
>>> Event 6500
>>> Event 6600
>>> Event 6700
>>> Event 6800
>>> Event 6900
>>> Event 7000
>>> Event 7100
>>> Event 7200
>>> Event 7300
>>> Event 7400
>>> Event 7500
>>> Event 7600
>>> Event 7700
>>> Event 7800
>>> Event 7900
>>> Event 8000
>>> Event 8100
>>> Event 8200
>>> Event 8300
>>> Event 8400
>>> Event 8500
>>> Event 8600
>>> Event 8700
>>> Event 8800
>>> Event 8900
>>> Event 9000
>>> Event 9100
>>> Event 9200
>>> Event 9300
>>> Event 9400
>>> Event 9500
>>> Event 9600
>>> Event 9700
>>> Event 9800
>>> Event 9900
Run terminated.
Run Summary
Number of events processed : 10000
User=13.1s Real=13.18s Sys=0.05s
=============================================================
Number of event processed : 10000
=============================================================
#Z Cell# totalEDep protonEDep protonNStep chargedPassCellFlux chargedCellFlux chargedSurfFlux gammaSurfCurr000 gammaSurfCurr001 gammaSurfCurr002 gammaSurfCurr003
0 190.20479 keV 0 eV 0 0 /cm2 1.1280282 /cm2 0 /cm2 0 /cm2 11000 /cm2 0 /cm2 0 /cm2
1 148.33997 keV 0 eV 0 0 /cm2 0.77923363 /cm2 0 /cm2 0 /cm2 10825 /cm2 0 /cm2 0 /cm2
2 189.65952 keV 0 eV 0 0 /cm2 1.1098947 /cm2 0 /cm2 0 /cm2 10300 /cm2 0 /cm2 0 /cm2
3 178.02953 keV 0 eV 0 0 /cm2 1.6166296 /cm2 0 /cm2 0 /cm2 9900 /cm2 0 /cm2 0 /cm2
4 229.85498 keV 0 eV 0 0 /cm2 2.3131311 /cm2 0 /cm2 0 /cm2 9600 /cm2 0 /cm2 0 /cm2
5 109.56678 keV 0 eV 0 0 /cm2 0.85217579 /cm2 0 /cm2 0 /cm2 9250 /cm2 0 /cm2 0 /cm2
6 295.03338 keV 0 eV 0 0 /cm2 3.073858 /cm2 0 /cm2 0 /cm2 8900 /cm2 0 /cm2 0 /cm2
7 116.59922 keV 0 eV 0 0 /cm2 0.32232631 /cm2 0 /cm2 0 /cm2 8825 /cm2 0 /cm2 0 /cm2
8 60.340368 keV 0 eV 0 0 /cm2 0.16792476 /cm2 0 /cm2 0 /cm2 8350 /cm2 0 /cm2 0 /cm2
9 150.77597 keV 0 eV 0 0 /cm2 0.97440497 /cm2 0 /cm2 0 /cm2 8150 /cm2 0 /cm2 0 /cm2
10 234.95334 keV 0 eV 0 0 /cm2 2.342945 /cm2 0 /cm2 0 /cm2 7625 /cm2 0 /cm2 0 /cm2
11 72.033123 keV 0 eV 0 0 /cm2 0.19698084 /cm2 0 /cm2 0 /cm2 7500 /cm2 0 /cm2 0 /cm2
12 119.40805 keV 0 eV 0 0 /cm2 0.88648208 /cm2 0 /cm2 0 /cm2 7150 /cm2 0 /cm2 0 /cm2
13 130.43136 keV 0 eV 0 0 /cm2 0.92024483 /cm2 0 /cm2 0 /cm2 6750 /cm2 0 /cm2 0 /cm2
14 228.29779 keV 0 eV 0 0 /cm2 2.0715054 /cm2 0 /cm2 0 /cm2 6500 /cm2 0 /cm2 0 /cm2
15 173.5585 keV 0 eV 0 0 /cm2 1.6149517 /cm2 0 /cm2 0 /cm2 6375 /cm2 0 /cm2 0 /cm2
16 114.79385 keV 0 eV 0 0 /cm2 0.88868779 /cm2 0 /cm2 0 /cm2 5800 /cm2 0 /cm2 0 /cm2
17 11.89969 keV 0 eV 0 0 /cm2 0.017809432 /cm2 0 /cm2 0 /cm2 5575 /cm2 0 /cm2 0 /cm2
18 261.74159 keV 0 eV 0 0 /cm2 2.3943359 /cm2 0 /cm2 0 /cm2 5500 /cm2 0 /cm2 0 /cm2
19 114.92772 keV 0 eV 0 0 /cm2 0.89457436 /cm2 0 /cm2 0 /cm2 5025 /cm2 0 /cm2 0 /cm2
20 3.5112297 keV 0 eV 0 0 /cm2 0.0035783524 /cm2 0 /cm2 0 /cm2 4775 /cm2 0 /cm2 0 /cm2
21 32.762838 keV 0 eV 0 0 /cm2 0.093901105 /cm2 0 /cm2 0 /cm2 4575 /cm2 0 /cm2 0 /cm2
22 72.733028 keV 0 eV 0 0 /cm2 0.83990634 /cm2 0 /cm2 0 /cm2 4600 /cm2 0 /cm2 0 /cm2
23 33.79004 keV 0 eV 0 0 /cm2 0.092475454 /cm2 0 /cm2 0 /cm2 4650 /cm2 0 /cm2 0 /cm2
24 8.3719216 keV 0 eV 0 0 /cm2 0.011157966 /cm2 0 /cm2 0 /cm2 4475 /cm2 0 /cm2 0 /cm2
25 96.257053 keV 0 eV 0 0 /cm2 0.77181865 /cm2 0 /cm2 0 /cm2 4450 /cm2 0 /cm2 0 /cm2
26 26.254361 keV 0 eV 0 0 /cm2 0.057275274 /cm2 0 /cm2 0 /cm2 4100 /cm2 0 /cm2 0 /cm2
27 66.378904 keV 0 eV 0 0 /cm2 0.57481627 /cm2 0 /cm2 0 /cm2 4000 /cm2 0 /cm2 0 /cm2
28 40.939487 keV 0 eV 0 0 /cm2 0.11341763 /cm2 0 /cm2 0 /cm2 3925 /cm2 0 /cm2 0 /cm2
29 59.075777 keV 0 eV 0 0 /cm2 0.16756899 /cm2 0 /cm2 0 /cm2 3575 /cm2 0 /cm2 0 /cm2
30 18.736407 keV 0 eV 0 0 /cm2 0.046625078 /cm2 0 /cm2 0 /cm2 3375 /cm2 0 /cm2 0 /cm2
31 4.0194141 keV 0 eV 0 0 /cm2 0.004659494 /cm2 0 /cm2 0 /cm2 3150 /cm2 0 /cm2 0 /cm2
32 8.0030842 keV 0 eV 0 0 /cm2 0.02153942 /cm2 0 /cm2 0 /cm2 3225 /cm2 0 /cm2 0 /cm2
33 34.518929 keV 0 eV 0 0 /cm2 0.085011142 /cm2 0 /cm2 0 /cm2 3300 /cm2 0 /cm2 0 /cm2
34 82.771912 keV 0 eV 0 0 /cm2 0.80619656 /cm2 0 /cm2 0 /cm2 3175 /cm2 0 /cm2 0 /cm2
35 35.668665 keV 0 eV 0 0 /cm2 0.11117494 /cm2 0 /cm2 0 /cm2 3050 /cm2 0 /cm2 0 /cm2
36 131.17143 keV 0 eV 0 0 /cm2 1.4986252 /cm2 0 /cm2 0 /cm2 2975 /cm2 0 /cm2 0 /cm2
37 34.308197 keV 0 eV 0 0 /cm2 0.099106065 /cm2 0 /cm2 0 /cm2 2675 /cm2 0 /cm2 0 /cm2
38 34.746221 keV 0 eV 0 0 /cm2 0.09712877 /cm2 0 /cm2 0 /cm2 2725 /cm2 0 /cm2 0 /cm2
39 19.203025 keV 0 eV 0 0 /cm2 0.049553507 /cm2 0 /cm2 0 /cm2 2400 /cm2 0 /cm2 0 /cm2
40 14.080076 keV 0 eV 0 0 /cm2 0.037589881 /cm2 0 /cm2 0 /cm2 2400 /cm2 0 /cm2 0 /cm2
41 20.677307 keV 0 eV 0 0 /cm2 0.062034224 /cm2 0 /cm2 0 /cm2 2225 /cm2 0 /cm2 0 /cm2
42 14.660392 keV 0 eV 0 0 /cm2 0.16136495 /cm2 0 /cm2 0 /cm2 2200 /cm2 0 /cm2 0 /cm2
43 20.13466 keV 0 eV 0 0 /cm2 0.064536461 /cm2 0 /cm2 0 /cm2 2200 /cm2 0 /cm2 0 /cm2
44 36.862375 keV 0 eV 0 0 /cm2 0.1113917 /cm2 0 /cm2 0 /cm2 2050 /cm2 0 /cm2 0 /cm2
45 75.6191 keV 0 eV 0 0 /cm2 0.76670848 /cm2 0 /cm2 0 /cm2 1925 /cm2 0 /cm2 0 /cm2
46 7.1911188 keV 0 eV 0 0 /cm2 0.017561143 /cm2 0 /cm2 0 /cm2 1825 /cm2 0 /cm2 0 /cm2
47 9.4365701 keV 0 eV 0 0 /cm2 0.014611499 /cm2 0 /cm2 0 /cm2 1825 /cm2 0 /cm2 0 /cm2
48 67.929529 keV 0 eV 0 0 /cm2 0.75675313 /cm2 0 /cm2 0 /cm2 1775 /cm2 0 /cm2 0 /cm2
49 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 1675 /cm2 0 /cm2 0 /cm2
50 20.530499 keV 0 eV 0 0 /cm2 0.053818427 /cm2 0 /cm2 0 /cm2 1750 /cm2 0 /cm2 0 /cm2
51 22.741468 keV 0 eV 0 0 /cm2 0.068117183 /cm2 0 /cm2 0 /cm2 1725 /cm2 0 /cm2 0 /cm2
52 53.626736 keV 0 eV 0 0 /cm2 0.51924348 /cm2 0 /cm2 0 /cm2 1500 /cm2 0 /cm2 0 /cm2
53 4.1094026 keV 0 eV 0 0 /cm2 0.0069187106 /cm2 0 /cm2 0 /cm2 1600 /cm2 0 /cm2 0 /cm2
54 18.883493 keV 0 eV 0 0 /cm2 0.050722209 /cm2 0 /cm2 0 /cm2 1550 /cm2 0 /cm2 0 /cm2
55 11.367294 keV 0 eV 0 0 /cm2 0.04003148 /cm2 0 /cm2 0 /cm2 1425 /cm2 0 /cm2 0 /cm2
56 29.28201 keV 0 eV 0 0 /cm2 0.084984182 /cm2 0 /cm2 0 /cm2 1400 /cm2 0 /cm2 0 /cm2
57 11.003518 keV 0 eV 0 0 /cm2 0.037817099 /cm2 0 /cm2 0 /cm2 1275 /cm2 0 /cm2 0 /cm2
58 11.153972 keV 0 eV 0 0 /cm2 0.030194442 /cm2 0 /cm2 0 /cm2 1225 /cm2 0 /cm2 0 /cm2
59 3.174372 keV 0 eV 0 0 /cm2 0.0044933902 /cm2 0 /cm2 0 /cm2 1250 /cm2 0 /cm2 0 /cm2
60 3.1854377 keV 0 eV 0 0 /cm2 0.0045213719 /cm2 0 /cm2 0 /cm2 1225 /cm2 0 /cm2 0 /cm2
61 10.583834 keV 0 eV 0 0 /cm2 0.035262399 /cm2 0 /cm2 0 /cm2 1225 /cm2 0 /cm2 0 /cm2
62 85.042515 keV 0 eV 0 0 /cm2 0.55696863 /cm2 0 /cm2 0 /cm2 1250 /cm2 0 /cm2 0 /cm2
63 69.701802 keV 0 eV 0 0 /cm2 0.76576683 /cm2 0 /cm2 0 /cm2 1125 /cm2 0 /cm2 0 /cm2
64 7.7192474 keV 0 eV 0 0 /cm2 0.017308271 /cm2 0 /cm2 0 /cm2 950 /cm2 0 /cm2 0 /cm2
65 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 950 /cm2 0 /cm2 0 /cm2
66 2.4704381 keV 0 eV 0 0 /cm2 0.0022873924 /cm2 0 /cm2 0 /cm2 900 /cm2 0 /cm2 0 /cm2
67 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 925 /cm2 0 /cm2 0 /cm2
68 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 850 /cm2 0 /cm2 0 /cm2
69 5.0175633 keV 0 eV 0 0 /cm2 0.0085800534 /cm2 0 /cm2 0 /cm2 800 /cm2 0 /cm2 0 /cm2
70 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 800 /cm2 0 /cm2 0 /cm2
71 75.751836 keV 0 eV 0 0 /cm2 0.76619486 /cm2 0 /cm2 0 /cm2 850 /cm2 0 /cm2 0 /cm2
72 9.9835814 keV 0 eV 0 0 /cm2 0.031624871 /cm2 0 /cm2 0 /cm2 675 /cm2 0 /cm2 0 /cm2
73 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 600 /cm2 0 /cm2 0 /cm2
74 9.9477873 keV 0 eV 0 0 /cm2 0.031442594 /cm2 0 /cm2 0 /cm2 675 /cm2 0 /cm2 0 /cm2
75 9.4126696 keV 0 eV 0 0 /cm2 0.028717569 /cm2 0 /cm2 0 /cm2 600 /cm2 0 /cm2 0 /cm2
76 6.6389902 keV 0 eV 0 0 /cm2 0.0156734 /cm2 0 /cm2 0 /cm2 550 /cm2 0 /cm2 0 /cm2
77 18.803117 keV 0 eV 0 0 /cm2 0.050516344 /cm2 0 /cm2 0 /cm2 550 /cm2 0 /cm2 0 /cm2
78 60 keV 0 eV 0 0 /cm2 0.73557689 /cm2 0 /cm2 0 /cm2 500 /cm2 0 /cm2 0 /cm2
79 1.9905062 keV 0 eV 0 0 /cm2 0.0021325298 /cm2 0 /cm2 0 /cm2 450 /cm2 0 /cm2 0 /cm2
80 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 450 /cm2 0 /cm2 0 /cm2
81 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 475 /cm2 0 /cm2 0 /cm2
82 13.634322 keV 0 eV 0 0 /cm2 0.036361099 /cm2 0 /cm2 0 /cm2 400 /cm2 0 /cm2 0 /cm2
83 28.547581 keV 0 eV 0 0 /cm2 0.074435053 /cm2 0 /cm2 0 /cm2 375 /cm2 0 /cm2 0 /cm2
84 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 275 /cm2 0 /cm2 0 /cm2
85 9.479614 keV 0 eV 0 0 /cm2 0.029058476 /cm2 0 /cm2 0 /cm2 275 /cm2 0 /cm2 0 /cm2
86 13.735678 keV 0 eV 0 0 /cm2 0.040498031 /cm2 0 /cm2 0 /cm2 300 /cm2 0 /cm2 0 /cm2
87 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
88 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
89 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 225 /cm2 0 /cm2 0 /cm2
90 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 300 /cm2 0 /cm2 0 /cm2
91 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
92 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
93 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 225 /cm2 0 /cm2 0 /cm2
94 9.1338018 keV 0 eV 0 0 /cm2 0.027297467 /cm2 0 /cm2 0 /cm2 275 /cm2 0 /cm2 0 /cm2
95 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 275 /cm2 0 /cm2 0 /cm2
96 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
97 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 250 /cm2 0 /cm2 0 /cm2
98 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 225 /cm2 0 /cm2 0 /cm2
99 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 225 /cm2 0 /cm2 0 /cm2
100 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 200 /cm2 0 /cm2 0 /cm2
101 3.9247273 keV 0 eV 0 0 /cm2 0.0063908125 /cm2 0 /cm2 0 /cm2 200 /cm2 0 /cm2 0 /cm2
102 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
103 10.103487 keV 0 eV 0 0 /cm2 0.032338426 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
104 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
105 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
106 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
107 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 175 /cm2 0 /cm2 0 /cm2
108 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 175 /cm2 0 /cm2 0 /cm2
109 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
110 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
111 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 0 /cm2 0 /cm2
112 2.876963 keV 0 eV 0 0 /cm2 0.0038536558 /cm2 0 /cm2 0 /cm2 125 /cm2 0 /cm2 0 /cm2
113 535.63111 eV 0 eV 0 0 /cm2 0.00037751128 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
114 1.4266846 keV 0 eV 0 0 /cm2 0.0013007898 /cm2 0 /cm2 0 /cm2 100 /cm2 0 /cm2 0 /cm2
115 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 0 /cm2 0 /cm2
116 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
117 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
118 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 125 /cm2 0 /cm2 0 /cm2
119 10.47114 keV 0 eV 0 0 /cm2 0.034576407 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
120 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
121 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
122 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
123 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
124 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 100 /cm2 0 /cm2 0 /cm2
125 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
126 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
127 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
128 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
129 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
130 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
131 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
132 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
133 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
134 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
135 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 75 /cm2 0 /cm2 0 /cm2
136 456.29262 eV 0 eV 0 0 /cm2 0.000322041 /cm2 0 /cm2 0 /cm2 150 /cm2 0 /cm2 0 /cm2
137 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
138 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
139 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
140 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
141 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
142 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
143 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
144 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
145 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
146 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
147 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
148 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
149 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
150 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
151 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
152 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
153 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
154 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
155 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 50 /cm2 0 /cm2 0 /cm2
156 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
157 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
158 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
159 10.394967 keV 0 eV 0 0 /cm2 0.034112724 /cm2 0 /cm2 0 /cm2 25 /cm2 0 /cm2 0 /cm2
160 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
161 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
162 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
163 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
164 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
165 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
166 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
167 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
168 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
169 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
170 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
171 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
172 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
173 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
174 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
175 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
176 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
177 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
178 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
179 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
180 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
181 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
182 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
183 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
184 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
185 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
186 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
187 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
188 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
189 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
190 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
191 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
192 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
193 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
194 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
195 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
196 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
197 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
198 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
199 0 eV 0 eV 0 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2 0 /cm2
=============================================
#
Graphics systems deleted.
Visualization Manager deleting...
UserDetectorConstruction deleted.
UserPhysicsList deleted.
UserRunAction deleted.
UserPrimaryGenerator deleted.
G4 kernel has come to Quit state.
G4SDManager deleted.
EventManager deleted.
UImanager deleted.
StateManager deleted.
RunManagerKernel is deleted.
RunManager is deleting.
@@ -0,0 +1,47 @@
# $Id: run4.mac,v 1.1 2005/11/24 01:44:18 asaim Exp $
#
# Macro file for "exampleRE02.cc"
#
# can be run in batch, without graphic
# or interactively: Idle> /control/execute run2.mac
#
/control/verbose 2
/run/verbose 2
/event/verbose 0
#/tracking/verbose 1
#
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
# viewer settings
/vis/viewer/set/viewpointThetaPhi 90 180 deg
/vis/viewer/zoom 1.4
#
# Store trajectory
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
/vis/scene/endOfEventAction accumulate
#
#
# Beam Parameters
# for electron
# UIcommands from G4ParticleGun.
#
/gun/particle gamma
#
# Kinetic Energy.
#/gun/energy 35. keV
/gun/energy 60. keV
#/gun/energy 356. keV
#
/gun/position 0 0 -100. cm
/gun/direction 0 0 1
#
/run/beamOn 10000
#
@@ -0,0 +1,371 @@
//
// ********************************************************************
// * 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: RE02DetectorConstruction.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "RE02DetectorConstruction.hh"
#include "G4MultiFunctionalDetector.hh"
#include "G4PSEnergyDeposit.hh"
//#include "G4PSDoseDeposit.hh"
#include "G4PSNofStep.hh"
//#include "G4PSNofSecondary.hh"
//#include "G4PSMinKinEAtGeneration.hh"
#include "G4PSCellFlux.hh"
//#include "G4PSTrackLength.hh"
//#include "G4PSPassageTrackLength.hh"
//#include "G4PSPassageCurrent.hh"
#include "G4PSPassageCellFlux.hh"
#include "G4PSFlatSurfaceFlux.hh"
#include "G4PSFlatSurfaceCurrent.hh"
//#include "G4PSSphereSurfaceCurrent.hh"
#include "G4SDParticleWithEnergyFilter.hh"
#include "G4SDParticleFilter.hh"
#include "G4SDChargedFilter.hh"
#include "G4NistManager.hh"
#include "G4Material.hh"
#include "G4Box.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4SDManager.hh"
#include "G4PVParameterised.hh"
#include "RE02PhantomParameterisation.hh"
#include "G4VisAttributes.hh"
#include "G4Colour.hh"
#include "G4ios.hh"
//=======================================================================
// RE02DetectorConstruction
//
// (Description)
//
// Detector construction for example RE02.
//
// [Geometry]
// The world volume is defined as 200 cm x 200 cm x 200 cm box with Air.
// Water phantom is defined as 200 mm x 200 mm x 400 mm box with Water.
// The water phantom is divided into 100 segments in x,y plane, and 200 segments
// perpendicular to z axis using parameterised volume.
// These values are defined at constructor,
// e.g. the size of water phantom (fphantomSize), and number of segmentation
// of water phantom (fNx, fNy, fNz).
// NIST database is used for materials.
//
// [Scorer]
// Assignment of G4MultiFunctionalDetector and G4PrimitiveScorer
// is demonstrated in this example.
// -------------------------------------------------
// The collection names of defined Primitives are
// 0 PhantomSD/totalEDep
// 1 PhantomSD/protonEDep
// 2 PhantomSD/protonNStep
// 3 PhantomSD/chargedPassCellFlux
// 4 PhantomSD/chargedCellFlux
// 5 PhantomSD/chargedSurfFlux
// 6 PhantomSD/gammaSurfCurr000
// 7 PhantomSD/gammaSurfCurr001
// 9 PhantomSD/gammaSurdCurr002
// 10 PhantomSD/gammaSurdCurr003
// -------------------------------------------------
// Please see README for detail description.
//
//=======================================================================
//
RE02DetectorConstruction::RE02DetectorConstruction()
{
fphantomSize.setX(200.*mm);
fphantomSize.setY(200.*mm);
fphantomSize.setZ(400.*mm);
//fNx = fNy = fNz = 100;
fNx = 100; fNy = 100; fNz = 200;
//fNx = 1; fNy = 1; fNz = 200;
G4cout << "<-- RE02DetectorConstruction -----------------" <<G4endl;
G4cout << " Water Phantom Size " << fphantomSize/mm << G4endl;
G4cout << " Segmentation ("<< fNx<<","<<fNy<<","<<fNz<<")"<<G4endl;
G4cout << "<---------------------------------------------"<<G4endl;
}
//
RE02DetectorConstruction::~RE02DetectorConstruction()
{;}
//
G4VPhysicalVolume* RE02DetectorConstruction::Construct()
{
//=====================
// Material Definitions
//=====================
//
//-------- NIST Materials ----------------------------------------------------
// Material Information imported from NIST database.
//
G4NistManager* NISTman = G4NistManager::Instance();
G4Material* Air = NISTman->FindOrBuildMaterial("G4_AIR");
G4Material* H2O = NISTman->FindOrBuildMaterial("G4_WATER");
//
// Print all the materials defined.
G4cout << G4endl << "The materials defined are : " << G4endl << G4endl;
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
//============================================================================
// Definitions of Solids, Logical Volumes, Physical Volumes
//============================================================================
//-------------
// World Volume
//-------------
G4ThreeVector worldSize = G4ThreeVector(200*cm, 200*cm, 200*cm);
G4Box * solidWorld
= new G4Box("world", worldSize.x()/2., worldSize.y()/2., worldSize.z()/2.);
G4LogicalVolume * logicWorld
= new G4LogicalVolume(solidWorld, Air, "World", 0, 0, 0);
//
// Must place the World Physical volume unrotated at (0,0,0).
G4VPhysicalVolume * physiWorld
= new G4PVPlacement(0, // no rotation
G4ThreeVector(), // at (0,0,0)
logicWorld, // its logical volume
"World", // its name
0, // its mother volume
false, // no boolean operations
0); // copy number
//---------------
// Water Phantom
//---------------
//................................
// Mother Volume of Water Phantom
//................................
//-- Default size of water phantom is defined at constructor.
G4ThreeVector phantomSize = fphantomSize;
G4Box * solidPhantom
= new G4Box("phantom",
phantomSize.x()/2., phantomSize.y()/2., phantomSize.z()/2.);
G4LogicalVolume * logicPhantom
= new G4LogicalVolume(solidPhantom, H2O, "Phantom", 0, 0, 0);
G4RotationMatrix* rot=new G4RotationMatrix();
//rot->rotateY(30.*deg);
G4ThreeVector positionPhantom;
//G4VPhysicalVolume * physiPhantom =
new G4PVPlacement(rot, // no rotation
positionPhantom, // at (x,y,z)
logicPhantom, // its logical volume
"Phantom", // its name
logicWorld, // its mother volume
false, // no boolean operations
0); // copy number
//..............................................
// Phantom segmentation using Parameterisation
//..............................................
//
// Number of segmentation.
// - Default number of segmentation is defined at constructor.
G4int nxCells = fNx;
G4int nyCells = fNy;
G4int nzCells = fNz;
G4int nCells = nxCells*nyCells*nzCells;
G4ThreeVector sensSize;
sensSize.setX(phantomSize.x()/(G4double)nxCells);
sensSize.setY(phantomSize.y()/(G4double)nyCells);
sensSize.setZ(phantomSize.z()/(G4double)nzCells);
// i.e Voxel size will be 2.0 x 2.0 x 2.0 mm3 cube by default.
//
//..................................
// Voxel solid and logical volumes
//..................................
//
G4Box * solidPhantomSens
= new G4Box("phantomSens",
sensSize.x()/2., sensSize.y()/2., sensSize.z()/2.);
G4LogicalVolume * logicPhantomSens
= new G4LogicalVolume(solidPhantomSens, H2O,"PhantomSens",0,0,0);
//
// Parameterisation for transformation of voxels.
// (voxel size is fixed in this example. i.e parameterisation handles
// only transfomation of voxels.)
RE02PhantomParameterisation* paramPhantom
= new RE02PhantomParameterisation(phantomSize/2.,nxCells,nyCells,nzCells);
//G4VPhysicalVolume * physiPhantomSens =
new G4PVParameterised("PhantomSens", // their name
logicPhantomSens, // their logical volume
logicPhantom, // Mother logical volume
kUndefined, // Are placed along this axis
nCells, // Number of cells
paramPhantom); // Parameterisation.
// Optimization flag is avaiable for,
// kUndefined, kXAxis, kYAxis, kZAxis.
//
//================================================
// Sensitive detectors : MultiFunctionalDetector
//================================================
//
// Sensitive Detector Manager.
G4SDManager* SDman = G4SDManager::GetSDMpointer();
//
// Sensitive Detector Name
G4String phantomSDname = "PhantomSD";
//------------------------
// MultiFunctionalDetector
//------------------------
//
// Define MultiFunctionalDetector with name.
G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(phantomSDname);
SDman->AddNewDetector( MFDet ); // Register SD to SDManager.
logicPhantomSens->SetSensitiveDetector(MFDet); // Assign SD to the logical volume.
//---------------------------------------
// SDFilter : Sensitive Detector Filters
//---------------------------------------
//
// Particle Filter for Primitive Scorer with filter name(fltName)
// and particle name(particleName),
// or particle names are given by add("particle name"); method.
//
G4String fltName,particleName;
//
//-- proton filter
G4SDParticleFilter* protonFilter =
new G4SDParticleFilter(fltName="protonFilter", particleName="proton");
//
//-- electron filter
G4SDParticleFilter* electronFilter =
new G4SDParticleFilter(fltName="electronFilter");
electronFilter->add(particleName="e+"); // accept electrons.
electronFilter->add(particleName="e-"); // accept positorons.
//
//-- charged particle filter
G4SDChargedFilter* chargedFilter =
new G4SDChargedFilter(fltName="chargedFilter");
//------------------------
// PS : Primitive Scorers
//------------------------
// Primitive Scorers are used with SDFilters according to your purpose.
//
//
//-- Primitive Scorer for Energy Deposit.
// Total, by protons, by electrons.
G4String psName;
G4PSEnergyDeposit* scorer0 = new G4PSEnergyDeposit(psName="totalEDep");
G4PSEnergyDeposit* scorer1 = new G4PSEnergyDeposit(psName="protonEDep");
scorer1->SetFilter(protonFilter);
//
//-- Number of Steps for protons
G4PSNofStep* scorer2 = new G4PSNofStep(psName="protonNStep");
scorer2->SetFilter(protonFilter);
//
//-- CellFlux for charged particles
G4PSPassageCellFlux* scorer3 = new G4PSPassageCellFlux(psName="chargedPassCellFlux");
G4PSCellFlux* scorer4 = new G4PSCellFlux(psName="chargedCellFlux");
G4PSFlatSurfaceFlux* scorer5 = new G4PSFlatSurfaceFlux(psName="chargedSurfFlux",fFlux_InOut);
scorer3->SetFilter(chargedFilter);
scorer4->SetFilter(chargedFilter);
scorer5->SetFilter(chargedFilter);
//
//------------------------------------------------------------
// Register primitive scorers to MultiFunctionalDetector
//------------------------------------------------------------
MFDet->RegisterPrimitive(scorer0);
MFDet->RegisterPrimitive(scorer1);
MFDet->RegisterPrimitive(scorer2);
MFDet->RegisterPrimitive(scorer3);
MFDet->RegisterPrimitive(scorer4);
MFDet->RegisterPrimitive(scorer5);
//========================
// More additional Primitive Scoreres
//========================
//
//--- Surface Current for gamma with energy bin.
// This example creates four primitive scorers.
// 4 bins with energy --- Primitive Scorer Name
// 1. to 10 KeV, gammaSurfCurr000
// 10 keV to 100 KeV, gammaSurfCurr001
// 100 keV to 1 MeV, gammaSurfCurr002
// 1 MeV to 10 MeV. gammaSurfCurr003
//
char name[16];
for ( G4int i = 0; i < 4; i++){
std::sprintf(name,"gammaSurfCurr%03d",i);
G4String psgName(name);
G4double kmin = std::pow(10.,(G4double)i)*keV;
G4double kmax = std::pow(10.,(G4double)(i+1))*keV;
//-- Particle with kinetic energy filter.
G4SDParticleWithEnergyFilter* pkinEFilter =
new G4SDParticleWithEnergyFilter(fltName="gammaE filter",kmin,kmax);
pkinEFilter->add("gamma"); // Accept only gamma.
pkinEFilter->show(); // Show accepting condition to stdout.
//-- Surface Current Scorer which scores number of tracks in unit area.
G4PSFlatSurfaceCurrent* scorer =
new G4PSFlatSurfaceCurrent(psgName,fCurrent_InOut);
scorer->SetFilter(pkinEFilter); // Assign filter.
MFDet->RegisterPrimitive(scorer); // Register it to MultiFunctionalDetector.
}
//
//===============================
// Visualization attributes
//===============================
G4VisAttributes* BoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
logicWorld ->SetVisAttributes(BoxVisAtt);
//logicWorld->SetVisAttributes(G4VisAttributes::Invisible);
G4VisAttributes* PhantomVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0));
logicPhantom->SetVisAttributes(PhantomVisAtt);
// If number of segmentation of water phantom is too large,
// skip the visualization for those voxels.
if ( nCells > 1000 ) {
logicPhantomSens->SetVisAttributes(G4VisAttributes::Invisible);
}
return physiWorld;
}
@@ -0,0 +1,117 @@
//
// ********************************************************************
// * 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: RE02EMPhysics.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
//
// 09-Oct-2003 Change gamma, electron, positorn process T. Koi
// 10-Jan-2004 Add Brems. of AlongStepDoIt for e+- T. Koi
#include "RE02EMPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
RE02EMPhysics::RE02EMPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
RE02EMPhysics::~RE02EMPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4Gamma.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
#include "G4NeutrinoE.hh"
#include "G4AntiNeutrinoE.hh"
#include "G4ProcessManager.hh"
void RE02EMPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
//Gamma
pManager = G4Gamma::Gamma()->GetProcessManager();
pManager->AddDiscreteProcess(new G4GammaConversion());
pManager->AddDiscreteProcess(new G4ComptonScattering());
pManager->AddDiscreteProcess(new G4PhotoElectricEffect());
//Electorn
pManager = G4Electron::Electron()->GetProcessManager();
G4VProcess* theeminusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeminusIonisation = new G4eIonisation();
G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung();
//
// add process
pManager->AddProcess(theeminusMultipleScattering);
pManager->AddProcess(theeminusIonisation);
pManager->AddProcess(theeminusBremsstrahlung);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2);
pManager->SetProcessOrdering(theeminusBremsstrahlung, idxAlongStep,3);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theeminusIonisation, idxPostStep,2);
pManager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3);
//Positron
pManager = G4Positron::Positron()->GetProcessManager();
G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeplusIonisation = new G4eIonisation();
G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung();
G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation();
pManager->AddProcess(theeplusMultipleScattering);
pManager->AddProcess(theeplusIonisation);
pManager->AddProcess(theeplusBremsstrahlung);
pManager->AddProcess(theeplusAnnihilation);
//
// set ordering for AtRestDoIt
pManager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2);
pManager->SetProcessOrdering(theeplusBremsstrahlung, idxAlongStep,3);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theeplusIonisation, idxPostStep,2);
pManager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep,3);
pManager->SetProcessOrdering(theeplusAnnihilation, idxPostStep,4);
}
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * 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: RE02EventAction.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "RE02EventAction.hh"
#include "G4Event.hh"
#include "G4EventManager.hh"
#include "G4TrajectoryContainer.hh"
#include "G4Trajectory.hh"
//
RE02EventAction::RE02EventAction()
{}
//
RE02EventAction::~RE02EventAction()
{}
//
void RE02EventAction::BeginOfEventAction(const G4Event*)
{}
//
void RE02EventAction::EndOfEventAction(const G4Event* evt)
{
G4int event_id = evt->GetEventID();
// get number of stored trajectories
//
G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();
G4int n_trajectories = 0;
if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();
// periodic printing
//
if (event_id < 100 || event_id%100 == 0) {
G4cout << ">>> Event " << evt->GetEventID() << G4endl;
//G4cout << " " << n_trajectories
// << " trajectories stored in this event." << G4endl;
}
}
//
@@ -0,0 +1,108 @@
//
// ********************************************************************
// * 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: RE02GeneralPhysics.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 22-Nov-2004 Construt ALL Particles by T. Koi
#include "RE02GeneralPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
RE02GeneralPhysics::RE02GeneralPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
RE02GeneralPhysics::~RE02GeneralPhysics()
{
}
#include "G4BaryonConstructor.hh"
#include "G4BosonConstructor.hh"
#include "G4IonConstructor.hh"
#include "G4LeptonConstructor.hh"
#include "G4MesonConstructor.hh"
#include "G4ShortLivedConstructor.hh"
void RE02GeneralPhysics::ConstructParticle()
{
// In Alphabetical Order
// Construct all barions
G4BaryonConstructor* baryonConstructor = new G4BaryonConstructor();
baryonConstructor -> ConstructParticle();
delete baryonConstructor;
// Construct all bosons (including geantinos)
G4BosonConstructor* bosonConstructor = new G4BosonConstructor();
bosonConstructor -> ConstructParticle();
delete bosonConstructor;
// Construct all ions
G4IonConstructor* ionConstructor = new G4IonConstructor();
ionConstructor -> ConstructParticle();
delete ionConstructor;
// Construct all leptons
G4LeptonConstructor* leptonConstructor = new G4LeptonConstructor();
leptonConstructor -> ConstructParticle();
delete leptonConstructor;
// Construct all mesons
G4MesonConstructor* mesonConstructor = new G4MesonConstructor();
mesonConstructor -> ConstructParticle();
delete mesonConstructor;
// Construct resonaces and quarks
G4ShortLivedConstructor* shortLivedConstructor = new G4ShortLivedConstructor();
shortLivedConstructor -> ConstructParticle();
delete shortLivedConstructor;
}
#include "G4Decay.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
void RE02GeneralPhysics::ConstructProcess()
{
// Add Decay Process
G4Decay* theDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (theDecayProcess->IsApplicable(*particle)) {
pmanager ->AddProcess(theDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest);
}
}
}
@@ -0,0 +1,720 @@
//
// ********************************************************************
// * 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: RE02HadronPhysics.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 Hadron Physics List with Parameterization Model by T. Koi
// 12-Oct-2003 Bug Fixed (KaonMinus) by T. Koi
// 16-Nov-2005 Binary Cascade for Protons. by T. Aso
// Proton : BinaryCascade < 6 GeV, 4 GeV < LE Model,
// Neutron: BinaryCascade < 6 GeV, 4 GeV < LE Model,
//
#include "RE02HadronPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
RE02HadronPhysics::RE02HadronPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
RE02HadronPhysics::~RE02HadronPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4ProcessManager.hh"
void RE02HadronPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
// Pi+ Physics
pManager = G4PionPlus::PionPlus()->GetProcessManager();
// add processes
G4HadronElasticProcess* theppElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theppElasticModel = new G4LElastic();
theppElasticProcess->RegisterMe(theppElasticModel);
pManager->AddDiscreteProcess(theppElasticProcess);
G4PionPlusInelasticProcess* thePionPlusInelasticProcess
= new G4PionPlusInelasticProcess();
G4LEPionPlusInelastic* thePionPlusLEPModel = new G4LEPionPlusInelastic();
G4HEPionPlusInelastic* thePionPlusHEPModel = new G4HEPionPlusInelastic();
thePionPlusInelasticProcess->RegisterMe(thePionPlusLEPModel);
thePionPlusInelasticProcess->RegisterMe(thePionPlusHEPModel);
pManager->AddDiscreteProcess(thePionPlusInelasticProcess);
G4VProcess* theppMultipleScattering = new G4MultipleScattering();
G4VProcess* theppIonisation = new G4hIonisation();
//
pManager->AddProcess(theppIonisation);
pManager->AddProcess(theppMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theppMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theppIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theppMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theppIonisation, idxPostStep,2);
// Pi- Physics
pManager = G4PionMinus::PionMinus()->GetProcessManager();
G4HadronElasticProcess* thepmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thepmElasticModel = new G4LElastic();
thepmElasticProcess->RegisterMe(thepmElasticModel);
pManager->AddDiscreteProcess(thepmElasticProcess);
G4PionMinusInelasticProcess* thePionMinusInelasticProcess
= new G4PionMinusInelasticProcess();
G4LEPionMinusInelastic* thePionMinusLEPModel = new G4LEPionMinusInelastic();
G4HEPionMinusInelastic* thePionMinusHEPModel = new G4HEPionMinusInelastic();
thePionMinusInelasticProcess->RegisterMe(thePionMinusLEPModel);
thePionMinusInelasticProcess->RegisterMe(thePionMinusHEPModel);
pManager->AddDiscreteProcess(thePionMinusInelasticProcess);
G4VProcess* thepmMultipleScattering = new G4MultipleScattering();
G4VProcess* thepmIonisation = new G4hIonisation();
//
// add processes
pManager->AddProcess(thepmIonisation);
pManager->AddProcess(thepmMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thepmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thepmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thepmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thepmIonisation, idxPostStep,2);
// K+ Physics
pManager = G4KaonPlus::KaonPlus()->GetProcessManager();
G4HadronElasticProcess* thekpElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thekpElasticModel = new G4LElastic();
thekpElasticProcess->RegisterMe(thekpElasticModel);
pManager->AddDiscreteProcess(thekpElasticProcess);
G4KaonPlusInelasticProcess* theKaonPlusInelasticProcess
= new G4KaonPlusInelasticProcess();
G4LEKaonPlusInelastic* theKaonPlusLEPModel = new G4LEKaonPlusInelastic();
G4HEKaonPlusInelastic* theKaonPlusHEPModel = new G4HEKaonPlusInelastic();
theKaonPlusInelasticProcess->RegisterMe(theKaonPlusLEPModel);
theKaonPlusInelasticProcess->RegisterMe(theKaonPlusHEPModel);
pManager->AddDiscreteProcess(theKaonPlusInelasticProcess);
G4VProcess* thekpMultipleScattering = new G4MultipleScattering();
G4VProcess* thekpIonisation = new G4hIonisation();
//
// add processes
pManager->AddProcess(thekpIonisation);
pManager->AddProcess(thekpMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thekpMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thekpIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thekpMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thekpIonisation, idxPostStep,2);
// K- Physics
pManager = G4KaonMinus::KaonMinus()->GetProcessManager();
// add processes
G4HadronElasticProcess* thekmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thekmElasticModel = new G4LElastic();
thekmElasticProcess->RegisterMe(thekmElasticModel);
pManager->AddDiscreteProcess(thekmElasticProcess);
G4KaonMinusInelasticProcess* theKaonMinusInelasticProcess
= new G4KaonMinusInelasticProcess();
G4LEKaonMinusInelastic* theKaonMinusLEPModel = new G4LEKaonMinusInelastic();
G4HEKaonMinusInelastic* theKaonMinusHEPModel = new G4HEKaonMinusInelastic();
theKaonMinusInelasticProcess->RegisterMe(theKaonMinusLEPModel);
theKaonMinusInelasticProcess->RegisterMe(theKaonMinusHEPModel);
pManager->AddDiscreteProcess(theKaonMinusInelasticProcess);
G4VProcess* thekmMultipleScattering = new G4MultipleScattering();
G4VProcess* thekmIonisation = new G4hIonisation();
pManager->AddProcess(thekmIonisation);
pManager->AddProcess(thekmMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thekmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thekmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thekmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thekmIonisation, idxPostStep,2);
// Kaon0L Phsics
pManager = G4KaonZeroLong::KaonZeroLong()->GetProcessManager();
G4HadronElasticProcess* thek0lElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thek0lElasticModel = new G4LElastic();
thek0lElasticProcess->RegisterMe(thek0lElasticModel);
pManager->AddDiscreteProcess(thek0lElasticProcess);
G4KaonZeroLInelasticProcess* theKaonZeroLInelasticProcess
= new G4KaonZeroLInelasticProcess();
G4LEKaonZeroLInelastic* theKaonZeroLLEPModel = new G4LEKaonZeroLInelastic();
G4HEKaonZeroInelastic* theKaonZerolHEPModel = new G4HEKaonZeroInelastic();
theKaonZeroLInelasticProcess->RegisterMe(theKaonZeroLLEPModel);
theKaonZeroLInelasticProcess->RegisterMe(theKaonZerolHEPModel);
pManager->AddDiscreteProcess(theKaonZeroLInelasticProcess);
// Kaon0S Phsics
pManager = G4KaonZeroShort::KaonZeroShort()->GetProcessManager();
G4HadronElasticProcess* thek0sElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thek0sElasticModel = new G4LElastic();
thek0sElasticProcess->RegisterMe(thek0sElasticModel);
pManager->AddDiscreteProcess(thek0sElasticProcess);
G4KaonZeroSInelasticProcess* theKaonZeroSInelasticProcess
= new G4KaonZeroSInelasticProcess();
G4LEKaonZeroSInelastic* theKaonZeroSLEPModel = new G4LEKaonZeroSInelastic();
G4HEKaonZeroInelastic* theKaonZerosHEPModel = new G4HEKaonZeroInelastic();
theKaonZeroSInelasticProcess->RegisterMe(theKaonZeroSLEPModel);
theKaonZeroSInelasticProcess->RegisterMe(theKaonZerosHEPModel);
pManager->AddDiscreteProcess(theKaonZeroSInelasticProcess);
// Proton Physics
pManager = G4Proton::Proton()->GetProcessManager();
// add process
G4HadronElasticProcess* thepElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thepElasticModel = new G4LElastic();
thepElasticProcess->RegisterMe(thepElasticModel);
pManager->AddDiscreteProcess(thepElasticProcess);
G4ProtonInelasticProcess* theProtonInelasticProcess
= new G4ProtonInelasticProcess();
G4BinaryCascade* theProtonBCModel = new G4BinaryCascade();
theProtonBCModel->SetMaxEnergy(6.*GeV);
G4LEProtonInelastic* theProtonLEPModel = new G4LEProtonInelastic();
theProtonLEPModel->SetMinEnergy(4.*GeV);
G4HEProtonInelastic* theProtonHEPModel = new G4HEProtonInelastic();
theProtonInelasticProcess->RegisterMe(theProtonBCModel);
theProtonInelasticProcess->RegisterMe(theProtonLEPModel);
theProtonInelasticProcess->RegisterMe(theProtonHEPModel);
pManager->AddDiscreteProcess(theProtonInelasticProcess);
G4VProcess* thepMultipleScattering = new G4MultipleScattering();
G4VProcess* thepIonisation = new G4hIonisation();
pManager->AddProcess(thepIonisation);
pManager->AddProcess(thepMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thepMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thepIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thepMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thepIonisation, idxPostStep,2);
// anti-proton Physics
pManager = G4AntiProton::AntiProton()->GetProcessManager();
// add process
G4HadronElasticProcess* theapElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theapElasticModel = new G4LElastic();
theapElasticProcess->RegisterMe(theapElasticModel);
pManager->AddDiscreteProcess(theapElasticProcess);
G4AntiProtonInelasticProcess* theAntiProtonInelasticProcess
= new G4AntiProtonInelasticProcess();
G4LEAntiProtonInelastic* theAntiProtonLEPModel = new G4LEAntiProtonInelastic();
G4HEAntiProtonInelastic* theAntiProtonHEPModel = new G4HEAntiProtonInelastic();
theAntiProtonInelasticProcess->RegisterMe(theAntiProtonLEPModel);
theAntiProtonInelasticProcess->RegisterMe(theAntiProtonHEPModel);
pManager->AddDiscreteProcess(theAntiProtonInelasticProcess);
G4AntiProtonAnnihilationAtRest* theAntiProtonAnnihilation
= new G4AntiProtonAnnihilationAtRest();
pManager->AddRestProcess(theAntiProtonAnnihilation);
G4VProcess* theapMultipleScattering = new G4MultipleScattering();
G4VProcess* theapIonisation = new G4hIonisation();
pManager->AddProcess(theapIonisation);
pManager->AddProcess(theapMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theapMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theapIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theapMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theapIonisation, idxPostStep,2);
// neutron Physics
pManager = G4Neutron::Neutron()->GetProcessManager();
// add process
G4HadronElasticProcess* thenElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thenElasticModel = new G4LElastic();
thenElasticProcess->RegisterMe(thenElasticModel);
pManager->AddDiscreteProcess(thenElasticProcess);
G4NeutronInelasticProcess* theNeutronInelasticProcess
= new G4NeutronInelasticProcess();
G4BinaryCascade* theNeutronBCModel = new G4BinaryCascade();
theNeutronBCModel->SetMaxEnergy(6.*GeV);
G4LENeutronInelastic* theNeutronLEPModel = new G4LENeutronInelastic();
theNeutronLEPModel->SetMinEnergy(4.*GeV);
G4HENeutronInelastic* theNeutronHEPModel = new G4HENeutronInelastic();
theNeutronInelasticProcess->RegisterMe(theNeutronBCModel);
theNeutronInelasticProcess->RegisterMe(theNeutronLEPModel);
theNeutronInelasticProcess->RegisterMe(theNeutronHEPModel);
pManager->AddDiscreteProcess(theNeutronInelasticProcess);
G4HadronFissionProcess* thenFission
= new G4HadronFissionProcess();
G4LFission* thenFissionModel = new G4LFission();
thenFission->RegisterMe(thenFissionModel);
pManager->AddDiscreteProcess(thenFission);
G4HadronCaptureProcess* thenCapture
= new G4HadronCaptureProcess();
G4LCapture* thenCaptureModel = new G4LCapture();
thenCapture->RegisterMe(thenCaptureModel);
pManager->AddDiscreteProcess(thenCapture);
// anti-neutron Physics
pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager();
// add process
G4HadronElasticProcess* theanElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theanElasticModel = new G4LElastic();
theanElasticProcess->RegisterMe(theanElasticModel);
pManager->AddDiscreteProcess(theanElasticProcess);
G4AntiNeutronInelasticProcess* theAntiNeutronInelasticProcess
= new G4AntiNeutronInelasticProcess();
G4LEAntiNeutronInelastic* theAntiNeutronLEPModel = new G4LEAntiNeutronInelastic();
G4HEAntiNeutronInelastic* theAntiNeutronHEPModel = new G4HEAntiNeutronInelastic();
theAntiNeutronInelasticProcess->RegisterMe(theAntiNeutronLEPModel);
theAntiNeutronInelasticProcess->RegisterMe(theAntiNeutronHEPModel);
pManager->AddDiscreteProcess(theAntiNeutronInelasticProcess);
G4AntiNeutronAnnihilationAtRest* theAntiNeutronAnnihilation
= new G4AntiNeutronAnnihilationAtRest();
pManager->AddRestProcess(theAntiNeutronAnnihilation);
// Lambda Physics
pManager = G4Lambda::Lambda()->GetProcessManager();
// add process
G4HadronElasticProcess* thel0ElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thel0ElasticModel = new G4LElastic();
thel0ElasticProcess->RegisterMe(thel0ElasticModel);
pManager->AddDiscreteProcess(thel0ElasticProcess);
G4LambdaInelasticProcess* theLambdaInelasticProcess
= new G4LambdaInelasticProcess();
G4LELambdaInelastic* theLambdaLEPModel = new G4LELambdaInelastic();
G4HELambdaInelastic* theLambdaHEPModel = new G4HELambdaInelastic();
theLambdaInelasticProcess->RegisterMe(theLambdaLEPModel);
theLambdaInelasticProcess->RegisterMe(theLambdaHEPModel);
pManager->AddDiscreteProcess(theLambdaInelasticProcess);
// Anti-Labda Physics
pManager = G4AntiLambda::AntiLambda()->GetProcessManager();
// add process
G4HadronElasticProcess* theal0ElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theal0ElasticModel = new G4LElastic();
theal0ElasticProcess->RegisterMe(theal0ElasticModel);
pManager->AddDiscreteProcess(theal0ElasticProcess);
G4AntiLambdaInelasticProcess* theAntiLambdaInelasticProcess
= new G4AntiLambdaInelasticProcess();
G4LEAntiLambdaInelastic* theAntiLambdaLEPModel = new G4LEAntiLambdaInelastic();
G4HEAntiLambdaInelastic* theAntiLambdaHEPModel = new G4HEAntiLambdaInelastic();
theAntiLambdaInelasticProcess->RegisterMe(theAntiLambdaLEPModel);
theAntiLambdaInelasticProcess->RegisterMe(theAntiLambdaHEPModel);
pManager->AddDiscreteProcess(theAntiLambdaInelasticProcess);
// Sigma+ Physics
pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager();
// add process
G4HadronElasticProcess* thespElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thespElasticModel = new G4LElastic();
thespElasticProcess->RegisterMe(thespElasticModel);
pManager->AddDiscreteProcess(thespElasticProcess);
G4SigmaPlusInelasticProcess* theSigmaPlusInelasticProcess
= new G4SigmaPlusInelasticProcess();
G4LESigmaPlusInelastic* theSigmaPlusLEPModel = new G4LESigmaPlusInelastic();
G4HESigmaPlusInelastic* theSigmaPlusHEPModel = new G4HESigmaPlusInelastic();
theSigmaPlusInelasticProcess->RegisterMe(theSigmaPlusLEPModel);
theSigmaPlusInelasticProcess->RegisterMe(theSigmaPlusHEPModel);
pManager->AddDiscreteProcess(theSigmaPlusInelasticProcess);
G4VProcess* thespMultipleScattering = new G4MultipleScattering();
G4VProcess* thespIonisation = new G4hIonisation();
pManager->AddProcess(thespIonisation);
pManager->AddProcess(thespMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thespMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thespIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thespMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thespIonisation, idxPostStep,2);
// anti-Sigma+ Physics
pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager();
// add process
G4HadronElasticProcess* theaspElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theaspElasticModel = new G4LElastic();
theaspElasticProcess->RegisterMe(theaspElasticModel);
pManager->AddDiscreteProcess(theaspElasticProcess);
G4AntiSigmaPlusInelasticProcess* theAntiSigmaPlusInelasticProcess
= new G4AntiSigmaPlusInelasticProcess();
G4LEAntiSigmaPlusInelastic* theAntiSigmaPlusLEPModel = new G4LEAntiSigmaPlusInelastic();
G4HEAntiSigmaPlusInelastic* theAntiSigmaPlusHEPModel = new G4HEAntiSigmaPlusInelastic();
theAntiSigmaPlusInelasticProcess->RegisterMe(theAntiSigmaPlusLEPModel);
theAntiSigmaPlusInelasticProcess->RegisterMe(theAntiSigmaPlusHEPModel);
pManager->AddDiscreteProcess(theAntiSigmaPlusInelasticProcess);
G4VProcess* theaspMultipleScattering = new G4MultipleScattering();
G4VProcess* theaspIonisation = new G4hIonisation();
pManager->AddProcess(theaspIonisation);
pManager->AddProcess(theaspMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theaspMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theaspIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theaspMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theaspIonisation, idxPostStep,2);
// Sigma- Physics
pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* thesmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thesmElasticModel = new G4LElastic();
thesmElasticProcess->RegisterMe(thesmElasticModel);
pManager->AddDiscreteProcess(thesmElasticProcess);
G4SigmaMinusInelasticProcess* theSigmaMinusInelasticProcess
= new G4SigmaMinusInelasticProcess();
G4LESigmaMinusInelastic* theSigmaMinusLEPModel = new G4LESigmaMinusInelastic();
G4HESigmaMinusInelastic* theSigmaMinusHEPModel = new G4HESigmaMinusInelastic();
theSigmaMinusInelasticProcess->RegisterMe(theSigmaMinusLEPModel);
theSigmaMinusInelasticProcess->RegisterMe(theSigmaMinusHEPModel);
pManager->AddDiscreteProcess(theSigmaMinusInelasticProcess);
G4VProcess* thesmMultipleScattering = new G4MultipleScattering();
G4VProcess* thesmIonisation = new G4hIonisation();
pManager->AddProcess(thesmIonisation);
pManager->AddProcess(thesmMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thesmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thesmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thesmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thesmIonisation, idxPostStep,2);
// anti-Sigma- Physics
pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* theasmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theasmElasticModel = new G4LElastic();
theasmElasticProcess->RegisterMe(theasmElasticModel);
pManager->AddDiscreteProcess(theasmElasticProcess);
G4AntiSigmaMinusInelasticProcess* theAntiSigmaMinusInelasticProcess
= new G4AntiSigmaMinusInelasticProcess();
G4LEAntiSigmaMinusInelastic* theAntiSigmaMinusLEPModel = new G4LEAntiSigmaMinusInelastic();
G4HEAntiSigmaMinusInelastic* theAntiSigmaMinusHEPModel = new G4HEAntiSigmaMinusInelastic();
theAntiSigmaMinusInelasticProcess->RegisterMe(theAntiSigmaMinusLEPModel);
theAntiSigmaMinusInelasticProcess->RegisterMe(theAntiSigmaMinusHEPModel);
pManager->AddDiscreteProcess(theAntiSigmaMinusInelasticProcess);
G4VProcess* theasmMultipleScattering = new G4MultipleScattering();
G4VProcess* theasmIonisation = new G4hIonisation();
pManager->AddProcess(theasmIonisation);
pManager->AddProcess(theasmMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theasmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theasmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theasmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theasmIonisation, idxPostStep,2);
// Xi0 Physics
pManager = G4XiZero::XiZero()->GetProcessManager();
// add process
G4HadronElasticProcess* thex0ElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thex0ElasticModel = new G4LElastic();
thex0ElasticProcess->RegisterMe(thex0ElasticModel);
pManager->AddDiscreteProcess(thex0ElasticProcess);
G4XiZeroInelasticProcess* theXiZeroInelasticProcess
= new G4XiZeroInelasticProcess();
G4LEXiZeroInelastic* theXiZeroLEPModel = new G4LEXiZeroInelastic();
G4HEXiZeroInelastic* theXiZeroHEPModel = new G4HEXiZeroInelastic();
theXiZeroInelasticProcess->RegisterMe(theXiZeroLEPModel);
theXiZeroInelasticProcess->RegisterMe(theXiZeroHEPModel);
pManager->AddDiscreteProcess(theXiZeroInelasticProcess);
// Anti-Xi0 Physics
pManager = G4AntiXiZero::AntiXiZero()->GetProcessManager();
// add process
G4HadronElasticProcess* theax0ElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theax0ElasticModel = new G4LElastic();
theax0ElasticProcess->RegisterMe(theax0ElasticModel);
pManager->AddDiscreteProcess(theax0ElasticProcess);
G4AntiXiZeroInelasticProcess* theAntiXiZeroInelasticProcess
= new G4AntiXiZeroInelasticProcess();
G4LEAntiXiZeroInelastic* theAntiXiZeroLEPModel = new G4LEAntiXiZeroInelastic();
G4HEAntiXiZeroInelastic* theAntiXiZeroHEPModel = new G4HEAntiXiZeroInelastic();
theAntiXiZeroInelasticProcess->RegisterMe(theAntiXiZeroLEPModel);
theAntiXiZeroInelasticProcess->RegisterMe(theAntiXiZeroHEPModel);
pManager->AddDiscreteProcess(theAntiXiZeroInelasticProcess);
// Xi- Physics
pManager = G4XiMinus::XiMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* thexmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thexmElasticModel = new G4LElastic();
thexmElasticProcess->RegisterMe(thexmElasticModel);
pManager->AddDiscreteProcess(thexmElasticProcess);
G4XiMinusInelasticProcess* theXiMinusInelasticProcess
= new G4XiMinusInelasticProcess();
G4LEXiMinusInelastic* theXiMinusLEPModel = new G4LEXiMinusInelastic();
G4HEXiMinusInelastic* theXiMinusHEPModel = new G4HEXiMinusInelastic();
theXiMinusInelasticProcess->RegisterMe(theXiMinusLEPModel);
theXiMinusInelasticProcess->RegisterMe(theXiMinusHEPModel);
pManager->AddDiscreteProcess(theXiMinusInelasticProcess);
G4VProcess* thexmMultipleScattering = new G4MultipleScattering();
G4VProcess* thexmIonisation = new G4hIonisation();
pManager->AddProcess(thexmIonisation);
pManager->AddProcess(thexmMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thexmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thexmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thexmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thexmIonisation, idxPostStep,2);
// anti-Xi- Physics
pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* theaxmElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theaxmElasticModel = new G4LElastic();
theaxmElasticProcess->RegisterMe(theaxmElasticModel);
pManager->AddDiscreteProcess(theaxmElasticProcess);
G4AntiXiMinusInelasticProcess* theAntiXiMinusInelasticProcess
= new G4AntiXiMinusInelasticProcess();
G4LEAntiXiMinusInelastic* theAntiXiMinusLEPModel = new G4LEAntiXiMinusInelastic();
G4HEAntiXiMinusInelastic* theAntiXiMinusHEPModel = new G4HEAntiXiMinusInelastic();
theAntiXiMinusInelasticProcess->RegisterMe(theAntiXiMinusLEPModel);
theAntiXiMinusInelasticProcess->RegisterMe(theAntiXiMinusHEPModel);
pManager->AddDiscreteProcess(theAntiXiMinusInelasticProcess);
G4VProcess* theaxmMultipleScattering = new G4MultipleScattering();
G4VProcess* theaxmIonisation = new G4hIonisation();
pManager->AddProcess(theaxmIonisation);
pManager->AddProcess(theaxmMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theaxmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theaxmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theaxmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theaxmIonisation, idxPostStep,2);
// Omega- Physics
pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* theomElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theomElasticModel = new G4LElastic();
theomElasticProcess->RegisterMe(theomElasticModel);
pManager->AddDiscreteProcess(theomElasticProcess);
G4OmegaMinusInelasticProcess* theOmegaMinusInelasticProcess
= new G4OmegaMinusInelasticProcess();
G4LEOmegaMinusInelastic* theOmegaMinusLEPModel = new G4LEOmegaMinusInelastic();
G4HEOmegaMinusInelastic* theOmegaMinusHEPModel = new G4HEOmegaMinusInelastic();
theOmegaMinusInelasticProcess->RegisterMe(theOmegaMinusLEPModel);
theOmegaMinusInelasticProcess->RegisterMe(theOmegaMinusHEPModel);
pManager->AddDiscreteProcess(theOmegaMinusInelasticProcess);
G4VProcess* theomMultipleScattering = new G4MultipleScattering();
G4VProcess* theomIonisation = new G4hIonisation();
pManager->AddProcess(theomIonisation);
pManager->AddProcess(theomMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theomMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theomIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theomMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theomIonisation, idxPostStep,2);
// anti-Omega- Physics
pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager();
// add process
G4HadronElasticProcess* theaomElasticProcess
= new G4HadronElasticProcess();
G4LElastic* theaomElasticModel = new G4LElastic();
theaomElasticProcess->RegisterMe(theaomElasticModel);
pManager->AddDiscreteProcess(theaomElasticProcess);
G4AntiOmegaMinusInelasticProcess* theAntiOmegaMinusInelasticProcess
= new G4AntiOmegaMinusInelasticProcess();
G4LEAntiOmegaMinusInelastic* theAntiOmegaMinusLEPModel = new G4LEAntiOmegaMinusInelastic();
G4HEAntiOmegaMinusInelastic* theAntiOmegaMinusHEPModel = new G4HEAntiOmegaMinusInelastic();
theAntiOmegaMinusInelasticProcess->RegisterMe(theAntiOmegaMinusLEPModel);
theAntiOmegaMinusInelasticProcess->RegisterMe(theAntiOmegaMinusHEPModel);
pManager->AddDiscreteProcess(theAntiOmegaMinusInelasticProcess);
G4VProcess* theaomMultipleScattering = new G4MultipleScattering();
G4VProcess* theaomIonisation = new G4hIonisation();
pManager->AddProcess(theaomIonisation);
pManager->AddProcess(theaomMultipleScattering);
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(theaomMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(theaomIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(theaomMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(theaomIonisation, idxPostStep,2);
}
@@ -0,0 +1,217 @@
//
// ********************************************************************
// * 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: RE02IonPhysics.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 13-Oct-2003 Add Comment for Ionisation of Generic Ion by T. Koi
// 05-Jan-2004 Change G. Ion Ionisation from G4hIonisation
// to G4ionIonisation T. Koi
// 18-Nov-2005 Add Inelastic process with G4BinaryLightIonReaction.
// T. Aso
#include "RE02IonPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
RE02IonPhysics::RE02IonPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
RE02IonPhysics::~RE02IonPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4ProcessManager.hh"
void RE02IonPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
// Generic Ion
pManager = G4GenericIon::GenericIon()->GetProcessManager();
// add process
G4VProcess* thegionMultipleScattering = new G4MultipleScattering();
//
// G4hIonization may be not able to use for Geanric Ion in future
// Please take care using this physics list after v5.2.p02
// G4VProcess* thegionIonisation = new G4hIonisation();
//
// From V6.0 hIonisation does not work for GenericIon
G4VProcess* thegionIonisation = new G4ionIonisation();
// Inelastic process
G4HadronInelasticProcess* thegionInelastic =
new G4HadronInelasticProcess("IonInelastic",G4GenericIon::GenericIon());
thegionInelastic->AddDataSet(new G4TripathiCrossSection);
thegionInelastic->AddDataSet(new G4IonsShenCrossSection);
G4BinaryLightIonReaction* thegionBCModel = new G4BinaryLightIonReaction;
thegionInelastic->RegisterMe(thegionBCModel);
//
pManager->AddProcess(thegionIonisation);
pManager->AddProcess(thegionMultipleScattering);
pManager->AddDiscreteProcess(thegionInelastic);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thegionMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thegionIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thegionMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thegionIonisation, idxPostStep,2);
// Deuteron
pManager = G4Deuteron::Deuteron()->GetProcessManager();
// add process
G4HadronElasticProcess* thedueElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thedueElasticModel = new G4LElastic();
thedueElasticProcess->RegisterMe(thedueElasticModel);
pManager->AddDiscreteProcess(thedueElasticProcess);
G4DeuteronInelasticProcess* theDeuteronInelasticProcess
= new G4DeuteronInelasticProcess();
G4LEDeuteronInelastic* theDeuteronLEPModel = new G4LEDeuteronInelastic();
theDeuteronInelasticProcess->RegisterMe(theDeuteronLEPModel);
pManager->AddDiscreteProcess(theDeuteronInelasticProcess);
G4VProcess* thedueMultipleScattering = new G4MultipleScattering();
G4VProcess* thedueIonisation = new G4hIonisation();
//
pManager->AddProcess(thedueIonisation);
pManager->AddProcess(thedueMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thedueMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thedueIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thedueMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thedueIonisation, idxPostStep,2);
// Triton
pManager = G4Triton::Triton()->GetProcessManager();
// add process
G4HadronElasticProcess* thetriElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thetriElasticModel = new G4LElastic();
thetriElasticProcess->RegisterMe(thetriElasticModel);
pManager->AddDiscreteProcess(thetriElasticProcess);
G4TritonInelasticProcess* theTritonInelasticProcess
= new G4TritonInelasticProcess();
G4LETritonInelastic* theTritonLEPModel = new G4LETritonInelastic();
theTritonInelasticProcess->RegisterMe(theTritonLEPModel);
pManager->AddDiscreteProcess(theTritonInelasticProcess);
G4VProcess* thetriMultipleScattering = new G4MultipleScattering();
G4VProcess* thetriIonisation = new G4hIonisation();
//
pManager->AddProcess(thetriIonisation);
pManager->AddProcess(thetriMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thetriMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thetriIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thetriMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thetriIonisation, idxPostStep,2);
// Alpha
pManager = G4Alpha::Alpha()->GetProcessManager();
// add processes
G4HadronElasticProcess* thealElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thealElasticModel = new G4LElastic();
thealElasticProcess->RegisterMe(thealElasticModel);
pManager->AddDiscreteProcess(thealElasticProcess);
G4AlphaInelasticProcess* theAlphaInelasticProcess
= new G4AlphaInelasticProcess();
G4LEAlphaInelastic* theAlphaLEPModel = new G4LEAlphaInelastic();
theAlphaInelasticProcess->RegisterMe(theAlphaLEPModel);
pManager->AddDiscreteProcess(theAlphaInelasticProcess);
G4VProcess* thealpMultipleScattering = new G4MultipleScattering();
G4VProcess* thealpIonisation = new G4hIonisation();
//
pManager->AddProcess(thealpIonisation);
pManager->AddProcess(thealpMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thealpMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thealpIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thealpMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thealpIonisation, idxPostStep,2);
// He3
pManager = G4He3::He3()->GetProcessManager();
// add processes
G4HadronElasticProcess* thehe3ElasticProcess
= new G4HadronElasticProcess();
G4LElastic* thehe3ElasticModel = new G4LElastic();
thehe3ElasticProcess->RegisterMe(thehe3ElasticModel);
pManager->AddDiscreteProcess(thehe3ElasticProcess);
G4VProcess* thehe3MultipleScattering = new G4MultipleScattering();
G4VProcess* thehe3Ionisation = new G4hIonisation();
//
pManager->AddProcess(thehe3Ionisation);
pManager->AddProcess(thehe3MultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thehe3MultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thehe3Ionisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thehe3MultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thehe3Ionisation, idxPostStep,2);
}
@@ -0,0 +1,142 @@
//
// ********************************************************************
// * 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: RE02MuonPhysics.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 mu+- tau+- processes are changed by T. Koi
// 05-Jan-2004 Add Brem. and PairProd. of AlongStepDoit for mu+- by T. Koi
#include "RE02MuonPhysics.hh"
#include "globals.hh"
#include "G4ios.hh"
#include <iomanip>
RE02MuonPhysics::RE02MuonPhysics(const G4String& name)
: G4VPhysicsConstructor(name)
{
}
RE02MuonPhysics::~RE02MuonPhysics()
{
}
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
#include "G4MuonPlus.hh"
#include "G4MuonMinus.hh"
#include "G4TauMinus.hh"
#include "G4TauPlus.hh"
#include "G4ProcessManager.hh"
void RE02MuonPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
//Muon+
pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
G4VProcess* thempMultipleScattering = new G4MultipleScattering();
G4VProcess* thempBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* thempPairProduction = new G4MuPairProduction();
G4VProcess* thempIonisation = new G4MuIonisation();
//
// add processes
pManager->AddProcess(thempIonisation);
pManager->AddProcess(thempMultipleScattering);
pManager->AddProcess(thempBremsstrahlung);
pManager->AddProcess(thempPairProduction);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thempMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thempIonisation, idxAlongStep,2);
pManager->SetProcessOrdering(thempBremsstrahlung, idxAlongStep,3);
pManager->SetProcessOrdering(thempPairProduction, idxAlongStep,4);
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thempMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thempIonisation, idxPostStep,2);
pManager->SetProcessOrdering(thempBremsstrahlung, idxPostStep,3);
pManager->SetProcessOrdering(thempPairProduction, idxPostStep,4);
//Muon-
pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
G4VProcess* themmMultipleScattering = new G4MultipleScattering();
G4VProcess* themmBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* themmPairProduction = new G4MuPairProduction();
G4VProcess* themmIonisation = new G4MuIonisation();
//
// add processes
pManager->AddProcess(themmIonisation);
pManager->AddProcess(themmMultipleScattering);
pManager->AddProcess(themmBremsstrahlung);
pManager->AddProcess(themmPairProduction);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(themmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(themmIonisation, idxAlongStep,2);
pManager->SetProcessOrdering(themmBremsstrahlung, idxAlongStep,3);
pManager->SetProcessOrdering(themmPairProduction, idxAlongStep,4);
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(themmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(themmIonisation, idxPostStep,2);
pManager->SetProcessOrdering(themmBremsstrahlung, idxPostStep,3);
pManager->SetProcessOrdering(themmPairProduction, idxPostStep,4);
// Tau+ Physics
pManager = G4TauPlus::TauPlus()->GetProcessManager();
G4VProcess* thetpMultipleScattering = new G4MultipleScattering();
G4VProcess* thetpIonisation = new G4hIonisation();
//
// add processes
pManager->AddProcess(thetpIonisation);
pManager->AddProcess(thetpMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thetpMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thetpIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thetpMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thetpIonisation, idxPostStep,2);
// Tau- Physics
pManager = G4TauMinus::TauMinus()->GetProcessManager();
G4VProcess* thetmMultipleScattering = new G4MultipleScattering();
G4VProcess* thetmIonisation = new G4hIonisation();
//
// add processes
pManager->AddProcess(thetmIonisation);
pManager->AddProcess(thetmMultipleScattering);
//
// set ordering for AlongStepDoIt
pManager->SetProcessOrdering(thetmMultipleScattering, idxAlongStep,1);
pManager->SetProcessOrdering(thetmIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pManager->SetProcessOrdering(thetmMultipleScattering, idxPostStep,1);
pManager->SetProcessOrdering(thetmIonisation, idxPostStep,2);
}
@@ -0,0 +1,72 @@
//
// ********************************************************************
// * 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: RE02PhantomParameterisation.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "RE02PhantomParameterisation.hh"
#include "G4Box.hh"
#include "G4VPhysicalVolume.hh"
RE02PhantomParameterisation::RE02PhantomParameterisation(
const G4ThreeVector& motherSize,
const G4int nx, const G4int ny, const G4int nz)
:G4VPVParameterisation(),fDxyzMother(motherSize),
fNx(nx),fNy(ny),fNz(nz)
{
// Voxel Size
fDxyz.setX(fDxyzMother.x()/(G4double)fNx);
fDxyz.setY(fDxyzMother.y()/(G4double)fNy);
fDxyz.setZ(fDxyzMother.z()/(G4double)fNz);
// Calculation of each segmented position, and fill it in vector.
G4double offsetX = -fDxyzMother.x()+fDxyz.x();
G4double offsetY = -fDxyzMother.y()+fDxyz.y();
G4double offsetZ = -fDxyzMother.z()+fDxyz.z();
for ( G4int ix = 0; ix < fNx; ix++){
for ( G4int iy = 0; iy < fNy; iy++){
for ( G4int iz = 0; iz < fNz; iz++){
G4double x = offsetX+((G4double)ix)*fDxyz.x()*2.;
G4double y = offsetY+((G4double)iy)*fDxyz.y()*2.;
G4double z = offsetZ+((G4double)iz)*fDxyz.z()*2.;
G4ThreeVector pos(x,y,z);
fPositions.push_back(pos);
}
}
}
}
RE02PhantomParameterisation::~RE02PhantomParameterisation() {
}
void RE02PhantomParameterisation::ComputeTransformation(const G4int copyNo,
G4VPhysicalVolume* physVol) const
{
physVol->SetTranslation(fPositions[copyNo]);
}
@@ -0,0 +1,110 @@
//
// ********************************************************************
// * 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: RE02PhysicsList.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// --------------------------------------------------------------
//
// 28-Jan-04 Add QGSP_BERT and QGSP_BIC for hadronic lists. T. Koi
// 22-Nov-04 Comment out QGSP_BERT and QGSP_BIC
// Output Notificaiton message
// All Particles are created in GeneralPhysics
#include "RE02PhysicsList.hh"
#include "globals.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleWithCuts.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4ios.hh"
#include <iomanip>
#include "RE02GeneralPhysics.hh"
#include "RE02EMPhysics.hh"
#include "RE02MuonPhysics.hh"
#include "RE02HadronPhysics.hh"
#include "RE02IonPhysics.hh"
//#include "HadronPhysicsQGSP_BERT.hh"
//#include "HadronPhysicsQGSP_BIC.hh"
RE02PhysicsList::RE02PhysicsList(): G4VModularPhysicsList()
{
G4cout << "You are using the RE02PhysicsList" << G4endl;
G4cout << "This PhysicsList originally comes from "<<G4endl;
G4cout << "example/extended/analysis/A01, and is modified "<<G4endl;
G4cout << "in Hadron Physics in order to involve Binary Cascade" << G4endl;
G4cout << "at low energy region and inelastic process for generic ions. "<<G4endl;
G4cout << "Full set of particles (barions bosons and mesons) will be created and" << G4endl;
G4cout << "Standard EM Physics and Low & High Energy parameterized models will be applied." << G4endl;
G4cout << "RE02PhysicsList is optimized for robustness" << G4endl;
G4cout << "and not for any particular usage." << G4endl;
G4cout << "For the hadronic physics, educated guesses of physics list are prepared for various use cases." << G4endl;
G4cout << "When you will start REAL calculations for your own interest," << G4endl;
G4cout << "please consider the usage of hadronic_lists instead of RE02PhysicsLists." << G4endl;
G4cout << "More information can also be found from the Geant4 HyperNews." << G4endl;
G4cout << "http://geant4-hn.slac.stanford.edu:5090/Geant4-HyperNews/index" << G4endl;
G4cout << "" << G4endl;
// default cut value (1.0mm)
defaultCutValue = 1.0*mm;
SetVerboseLevel(1);
// General Physics ( Create ALL Particle and apply Decay )
RegisterPhysics( new RE02GeneralPhysics("general") );
// EM Physics ( Apply related Processes to gamma and e-/+)
RegisterPhysics( new RE02EMPhysics("standard EM"));
// Muon Physics ( Apply related processes to mu and tau
RegisterPhysics( new RE02MuonPhysics("muon"));
// Hadron Physics ( Apply related processes to hadrons )
RegisterPhysics( new RE02HadronPhysics("hadron"));
// We do not use hadronic lists since v7.
//RegisterPhysics( new HadronPhysicsQGSP_BERT("hadron"));
//RegisterPhysics( new HadronPhysicsQGSP_BIC("hadron"));
// Ion Physics ( Apply related processes to ions )
RegisterPhysics( new RE02IonPhysics("ion"));
}
RE02PhysicsList::~RE02PhysicsList()
{
}
void RE02PhysicsList::SetCuts()
{
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
}
@@ -0,0 +1,77 @@
//
// ********************************************************************
// * 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: RE02PrimaryGeneratorAction.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "RE02PrimaryGeneratorAction.hh"
#include "G4Event.hh"
#include "G4ParticleGun.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "Randomize.hh"
#include "globals.hh"
//
RE02PrimaryGeneratorAction::RE02PrimaryGeneratorAction()
{
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
// default particle
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* particle = particleTable->FindParticle("proton");
particleGun->SetParticleDefinition(particle);
particleGun->SetParticleMomentumDirection(G4ThreeVector(0.0,0.0,1.));
particleGun->SetParticleEnergy(150.0*MeV);
//
// default beam position
G4double position = -200./2.*cm;
//
// Initial beam spot size in sigma.; This is not a part of ParticleGun.
fsigmaPosition = 10.* mm;
//
particleGun->SetParticlePosition(G4ThreeVector(0.*cm, 0.*cm, position));
}
//
RE02PrimaryGeneratorAction::~RE02PrimaryGeneratorAction()
{
delete particleGun;
}
//
void RE02PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
G4ThreeVector position = particleGun->GetParticlePosition();
G4double dx = (G4UniformRand()-0.5)*fsigmaPosition;
G4double dy = (G4UniformRand()-0.5)*fsigmaPosition;
position.setX(dx);
position.setY(dy);
particleGun->SetParticlePosition(position);
particleGun->GeneratePrimaryVertex(anEvent);
}
@@ -0,0 +1,203 @@
//
// ********************************************************************
// * 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: RE02Run.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
//=====================================================================
//
// (Description)
// RE02Run Class is for accumulating scored quantities which is
// scored using G4MutiFunctionalDetector and G4VPrimitiveScorer.
// Accumulation is done using G4THitsMap object.
//
// The constructor RE02Run(const std::vector<G4String> mfdName)
// needs a vector filled with MultiFunctionalDetector names which
// was assigned at instantiation of MultiFunctionalDetector(MFD).
// Then RE02Run constructor automatically scans primitive scorers
// in the MFD, and obtains collectionIDs of all collections associated
// to those primitive scorers. Futhermore, the G4THitsMap objects
// for accumulating during a RUN are automatically created too.
// (*) Collection Name is same as primitive scorer name.
//
// The resultant information is kept inside RE02Run objects as
// data members.
// std::vector<G4String> theCollName; // Collection Name,
// std::vector<G4int> theCollID; // Collection ID,
// std::vector<G4THitsMap<G4double>*> theRunMap; // HitsMap for RUN.
//
// The resualtant HitsMap objects are obtain using access method,
// GetHitsMap(..).
//
//=====================================================================
#include "RE02Run.hh"
#include "G4SDManager.hh"
#include "G4MultiFunctionalDetector.hh"
#include "G4VPrimitiveScorer.hh"
//
// Constructor.
// (The vector of MultiFunctionalDetector name has to given.)
RE02Run::RE02Run(const std::vector<G4String> mfdName): G4Run()
{
G4SDManager* SDman = G4SDManager::GetSDMpointer();
//=================================================
// Initalize RunMaps for accumulation.
// Get CollectionIDs for HitCollections.
//=================================================
G4int Nmfd = mfdName.size();
for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD.
G4String detName = mfdName[idet];
//--- Seek and Obtain MFD objects from SDmanager.
G4MultiFunctionalDetector* mfd =
(G4MultiFunctionalDetector*)(SDman->FindSensitiveDetector(detName));
//
if ( mfd ){
//--- Loop over the registered primitive scorers.
for (G4int icol = 0; icol < mfd->GetNumberOfPrimitives(); icol++){
// Get Primitive Scorer object.
G4VPrimitiveScorer* scorer=mfd->GetPrimitive(icol);
// collection name and collectionID for HitsCollection,
// where type of HitsCollection is G4THitsMap in case of primitive scorer.
// The collection name is given by <MFD name>/<Primitive Scorer name>.
G4String collectionName = scorer->GetName();
G4String fullCollectionName = detName+"/"+collectionName;
G4int collectionID = SDman->GetCollectionID(fullCollectionName);
//
if ( collectionID >= 0 ){
G4cout << "++ "<<fullCollectionName<< " id " << collectionID << G4endl;
// Store obtained HitsCollection information into data members.
// And, creates new G4THitsMap for accumulating quantities during RUN.
theCollName.push_back(fullCollectionName);
theCollID.push_back(collectionID);
theRunMap.push_back(new G4THitsMap<G4double>(detName,collectionName));
}else{
G4cout << "** collection " << fullCollectionName << " not found. "<<G4endl;
}
}
}
}
}
//
// Destructor
// clear all data members.
RE02Run::~RE02Run()
{
//--- Clear HitsMap for RUN
G4int Nmap = theRunMap.size();
for ( G4int i = 0; i < Nmap; i++){
if(theRunMap[i] ) theRunMap[i]->clear();
}
theCollName.clear();
theCollID.clear();
theRunMap.clear();
}
//
// RecordEvent is called at end of event.
// For scoring purpose, the resultant quantity in a event,
// is accumulated during a Run.
void RE02Run::RecordEvent(const G4Event* aEvent)
{
numberOfEvent++; // This is an original line.
//=============================
// HitsCollection of This Event
//============================
G4HCofThisEvent* HCE = aEvent->GetHCofThisEvent();
if (!HCE) return;
//=======================================================
// Sum up HitsMap of this Event into HitsMap of this RUN
//=======================================================
G4int Ncol = theCollID.size();
for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection
G4THitsMap<G4double>* EvtMap=0;
if ( theCollID[i] >= 0 ){ // Collection is attached to HCE
EvtMap = (G4THitsMap<G4double>*)(HCE->GetHC(theCollID[i]));
}else{
G4cout <<" Error EvtMap Not Found "<< i << G4endl;
}
if ( EvtMap ) {
//=== Sum up HitsMap of this event to HitsMap of RUN.===
*theRunMap[i] += *EvtMap;
//======================================================
}
}
}
//=================================================================
// Access method for HitsMap of the RUN
//
//-----
// Access HitsMap.
// By MultiFunctionalDetector name and Collection Name.
G4THitsMap<G4double>* RE02Run::GetHitsMap(const G4String& detName,
const G4String& colName){
G4String fullName = detName+"/"+colName;
return GetHitsMap(fullName);
}
//-----
// Access HitsMap.
// By full description of collection name, that is
// <MultiFunctional Detector Name>/<Primitive Scorer Name>
G4THitsMap<G4double>* RE02Run::GetHitsMap(const G4String& fullName){
G4int Ncol = theCollName.size();
for ( G4int i = 0; i < Ncol; i++){
if ( theCollName[i] == fullName ){
return theRunMap[i];
}
}
return NULL;
}
//-----
// - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity).
// This method calls G4THisMap::PrintAll() for individual HitsMap.
void RE02Run::DumpAllScorer(){
// - Number of HitsMap in this RUN.
G4int n = GetNumberOfHitsMap();
// - GetHitsMap and dump values.
for ( G4int i = 0; i < n ; i++ ){
G4THitsMap<G4double>* RunMap =GetHitsMap(i);
if ( RunMap ) {
G4cout << " PrimitiveScorer RUN "
<< RunMap->GetSDname() <<","<< RunMap->GetName() << G4endl;
G4cout << " Number of entries " << RunMap->entries() << G4endl;
std::map<G4int,G4double*>::iterator itr = RunMap->GetMap()->begin();
for(; itr != RunMap->GetMap()->end(); itr++) {
G4cout << " copy no.: " << itr->first
<< " Run Value : " << *(itr->second)
<< G4endl;
}
}
}
}
@@ -0,0 +1,164 @@
//
// ********************************************************************
// * 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: RE02RunAction.cc,v 1.1 2005/11/24 01:44:18 asaim Exp $
// GEANT4 tag $Name: geant4-08-00 $
//
#include "RE02RunAction.hh"
#include "RE02Run.hh"
//-- In order to obtain detector information.
#include "G4RunManager.hh"
#include "RE02DetectorConstruction.hh"
#include "G4THitsMap.hh"
#include "G4UnitsTable.hh"
//=======================================================================
// RE02RunAction
//
//
//
//=======================================================================
// Constructor
RE02RunAction::RE02RunAction()
{
// - Prepare data member for RE02Run.
// vector represents a list of MultiFunctionalDetector names.
theSDName.push_back(G4String("PhantomSD"));
}
// Destructor.
RE02RunAction::~RE02RunAction()
{
theSDName.clear();
}
//
//==
G4Run* RE02RunAction::GenerateRun()
{
// Generate new RUN object, which is specially
// dedicated for MultiFunctionalDetector scheme.
// Detail description can be found in RE02Run.hh/cc.
return new RE02Run(theSDName);
}
//
//==
void RE02RunAction::BeginOfRunAction(const G4Run* aRun)
{
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
}
//
//==
void RE02RunAction::EndOfRunAction(const G4Run* aRun)
{
//- RE02Run object.
RE02Run* re02Run = (RE02Run*)aRun;
//--- Dump all socred quantities involved in RE02Run.
// re02Run->DumpAllScorer();
//---
//
//- water phantom (Detector) Information.
//-- Number of segments in the water phantom.
const RE02DetectorConstruction* detector =
(const RE02DetectorConstruction*)
(G4RunManager::GetRunManager()->GetUserDetectorConstruction());
detector->GetNumberOfSegmentsInPhantom(fNx,fNy,fNz); //Fill fNx,y,z.
//---------------------------------------------
// Dump accumulated quantities for this RUN.
// (Display only central region of x-y plane)
//---------------------------------------------
G4THitsMap<G4double>* totEdep = re02Run->GetHitsMap("PhantomSD/totalEDep");
G4THitsMap<G4double>* proEdep = re02Run->GetHitsMap("PhantomSD/protonEDep");
G4THitsMap<G4double>* proNstep= re02Run->GetHitsMap("PhantomSD/protonNStep");
G4THitsMap<G4double>* passCFx = re02Run->GetHitsMap("PhantomSD/chargedPassCellFlux");
G4THitsMap<G4double>* CFx = re02Run->GetHitsMap("PhantomSD/chargedCellFlux");
G4THitsMap<G4double>* surfFx = re02Run->GetHitsMap("PhantomSD/chargedSurfFlux");
G4THitsMap<G4double>* gCurr00 = re02Run->GetHitsMap("PhantomSD/gammaSurfCurr000");
G4THitsMap<G4double>* gCurr01 = re02Run->GetHitsMap("PhantomSD/gammaSurfCurr001");
G4THitsMap<G4double>* gCurr02 = re02Run->GetHitsMap("PhantomSD/gammaSurfCurr002");
G4THitsMap<G4double>* gCurr03 = re02Run->GetHitsMap("PhantomSD/gammaSurfCurr003");
G4cout << "=============================================================" <<G4endl;
G4cout << " Number of event processed : "<< aRun->GetNumberOfEvent() << G4endl;
G4cout << "=============================================================" <<G4endl;
G4cout << std::setw( 8) << "#Z Cell#"
<< std::setw(16) << totEdep->GetName()
<< std::setw(16) << proEdep->GetName()
<< std::setw(12) << proNstep->GetName()
<< std::setw(21) << passCFx->GetName()
<< std::setw(20) << CFx->GetName()
<< std::setw(20) << surfFx->GetName()
<< std::setw(20) << gCurr00->GetName()
<< std::setw(20) << gCurr01->GetName()
<< std::setw(20) << gCurr02->GetName()
<< std::setw(20) << gCurr03->GetName()
<< G4endl;
G4int ix = fNx/2;
G4int iy = fNy/2;
G4int iz;
//G4double totE, proE, proN,pasCF,CF,surfF,gCr0,gCr1,gCr2,gCr3;
for ( iz = 0; iz < fNz; iz++){
G4double* totED = (*totEdep)[CopyNo(ix,iy,iz)];
G4double* proED = (*proEdep)[CopyNo(ix,iy,iz)];
G4double* proNS = (*proNstep)[CopyNo(ix,iy,iz)];
G4double* pasCF = (*passCFx)[CopyNo(ix,iy,iz)];
G4double* CF = (*CFx)[CopyNo(ix,iy,iz)];
G4double* sfx = (*surfFx)[CopyNo(ix,iy,iz)];
G4double* gcur0 = (*gCurr00)[CopyNo(ix,iy,iz)];
G4double* gcur1 = (*gCurr01)[CopyNo(ix,iy,iz)];
G4double* gcur2 = (*gCurr02)[CopyNo(ix,iy,iz)];
G4double* gcur3 = (*gCurr03)[CopyNo(ix,iy,iz)];
if ( !totED ) totED = new G4double(0.0);
if ( !proED ) proED = new G4double(0.0);
if ( !proNS ) proNS = new G4double(0.0);
if ( !pasCF ) pasCF = new G4double(0.0);
if ( !CF ) CF = new G4double(0.0);
if ( !sfx ) sfx = new G4double(0.0);
if ( !gcur0 ) gcur0 = new G4double(0.0);
if ( !gcur1 ) gcur1 = new G4double(0.0);
if ( !gcur2 ) gcur2 = new G4double(0.0);
if ( !gcur3 ) gcur3 = new G4double(0.0);
G4cout << std::setw( 6) << iz << " "
<< std::setw(12) << G4BestUnit(*totED,"Energy")
<< std::setw(12) << G4BestUnit(*proED,"Energy")
<< std::setw(12) << (*proNS) << " "
<< std::setw(13) << (*pasCF)*cm*cm <<" /cm2"
<< std::setw(15) << (*CF)*cm*cm <<" /cm2"
<< std::setw(15) << (*sfx)*cm*cm <<" /cm2"
<< std::setw(15) << (*gcur0)*cm*cm <<" /cm2"
<< std::setw(15) << (*gcur1)*cm*cm <<" /cm2"
<< std::setw(15) << (*gcur2)*cm*cm <<" /cm2"
<< std::setw(15) << (*gcur3)*cm*cm <<" /cm2"
<< G4endl;
}
G4cout << "============================================="<<G4endl;
}
//
// --
@@ -0,0 +1,38 @@
#
# Macro file for the initialization phase of "exampleRE02.cc"
# when runing in interactive mode
#
# Sets some default verbose
#
/control/verbose 2
/run/verbose 2
#/tracking/verbose 2
#
# create empty scene
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#
#/vis/open VRML2FILE
/vis/open OGLIX
#/vis/open DAWNFILE
#/vis/open DAWN
#
# draw scene
#
/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/set/viewpointThetaPhi -90 90 deg
/vis/viewer/zoom 1.4
#/vis/viewer/flush
#
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
# (if you prefer refreshing each event, comment out next line)
/vis/scene/endOfEventAction accumulate
#
/run/beamOn 100