Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -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.
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
#
|
||||
@@ -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
|
||||
#
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user