Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
@@ -1,4 +1,4 @@
$Id: History,v 1.22 2002/12/11 14:19:17 maire Exp $
$Id: History,v 1.28 2003/03/27 11:16:16 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,24 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
27-03-03 mma (testem1-V05-00-05)
- modular physics list
26-03-03 V.Ivant (testem1-V05-00-04)
11-03-03 V.Ivant (testem1-V05-00-03)
- Remove all old interfaces to cuts
- Add definition of mean excitation energy for water
06-03-03 mma (testem1-V05-00-02)
- PhysicsList::SetCuts : suppress cutForProton
20-02-03 V.Ivant (testem1-V05-00-01)
- Migrade to cut per region
12-02-03 mma (testem1-V05-00-00)
- DetectorConstruction: change volume name
11-12-02 mma (testem1-V04-01-01)
- migration to AIDA 3.0
- UI commands under directory /testem/
@@ -22,7 +22,7 @@
//
//
// $Id: TestEm1.cc,v 1.8 2001/12/07 11:49:08 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,4 +1,4 @@
# $Id: TestEm1.in,v 1.5 2002/12/11 14:19:18 maire Exp $
# $Id: TestEm1.in,v 1.9 2003/03/26 17:49:54 vnivanch Exp $
#
# Macro file for "TestEm1.cc"
# (can be run in batch, without graphic)
@@ -6,10 +6,11 @@
# electron 100 MeV; all processes
#
/control/verbose 2
/tracking/verbose 0
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
#
#
/run/initialize
#
/process/eLoss/StepFunction 0.183 170 micrometer
@@ -1,27 +1,9 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
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)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
#
/run/initialize
G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV;
***** Table : Nb of materials = 11 *****
@@ -32,7 +14,7 @@ Current available graphics systems are:
Material: H2liquid density: 70.800 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.923 m
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
@@ -61,11 +43,39 @@ Current available graphics systems are:
---> Element: Uranium Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 %
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)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/tracking/verbose 0
#
/testem/phys/setGCut 2.20 mm
/testem/phys/setECut 6.05 mum
#
/run/initialize
The Box is 20 m of Aluminium
phot: Total cross sections from Sandia parametrisation.
Em1PhysicsList::SetCuts:CutLength : 1 mm
#
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 100 MeV
/run/beamOn 100
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
@@ -82,7 +92,8 @@ msc: Tables of transport mean free paths.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 0.17, dRoverRange= 0.183
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -103,6 +114,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 0.17, dRoverRange= 0.183
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -121,41 +133,18 @@ MuBrems: theoretical cross section
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e-
Cut in range
Air 2.2 mm 6.05 mum
H2liquid 2.2 mm 6.05 mum
Water 2.2 mm 6.05 mum
liquidArgon 2.2 mm 6.05 mum
Aluminium 2.2 mm 6.05 mum
Silicon 2.2 mm 6.05 mum
Germanium 2.2 mm 6.05 mum
Iron 2.2 mm 6.05 mum
Tungsten 2.2 mm 6.05 mum
Lead 2.2 mm 6.05 mum
Uranium 2.2 mm 6.05 mum
Cut in energy
Air 990 eV 990 eV
H2liquid 990 eV 990 eV
Water 4.06 keV 3.27 keV
liquidArgon 9.08 keV 3.98 keV
Aluminium 9.99 keV 9.97 keV
Silicon 10 keV 8.45 keV
Germanium 31.6 keV 32.7 keV
Iron 31.1 keV 43.3 keV
Tungsten 139 keV 59.7 keV
Lead 124 keV 42.8 keV
Uranium 188 keV 56.1 keV
===================================================
#
/process/eLoss/StepFunction 0.183 170 micrometer
#
/run/verbose 2
#
/gun/particle e-
/gun/energy 100 MeV
/run/beamOn 100
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Aluminium
Range cuts : gamma 2.2 mm e- 6.05 mum e+ 1 mm
Energy thresholds : gamma 9.98636 keV e- 9.96618 keV e+ 568.011 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -173,18 +162,18 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=15s Real=19s Sys=2.4s
User=19s Real=30s Sys=5.6s
nb tracks/event neutral: 27.8100 charged: 700.3100
nb steps/event neutral: 151.8700 charged: 1338.0800
nb tracks/event neutral: 27.9700 charged: 706.0200
nb steps/event neutral: 151.6800 charged: 2246.3000
nb of process calls per event:
eIoni eBrem compt phot conv annihil
1311.6600 25.0000 124.0600 26.3900 1.4200 1.4200
2219.7900 25.0300 123.7100 26.4900 1.4800 1.4800
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1272479250, 468362791
Current couple of seeds = 224687272, 1952306832
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -22,7 +22,7 @@
//
//
// $Id: Em1DetectorConstruction.hh,v 1.5 2001/12/07 11:49:09 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1DetectorMessenger.hh,v 1.5 2002/12/11 14:19:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1EventAction.hh,v 1.5 2001/11/29 11:28:07 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1EventActionMessenger.hh,v 1.4 2001/10/26 12:51:23 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -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: Em1PhysListEmModel.hh,v 1.1 2003/03/27 11:16:18 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Em1PhysListEmModel_h
#define Em1PhysListEmModel_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysListEmModel : public G4VPhysicsConstructor
{
public:
Em1PhysListEmModel(const G4String& name = "model");
virtual ~Em1PhysListEmModel();
public:
// This method is dummy for physics.
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();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#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: Em1PhysListEmStandard.hh,v 1.1 2003/03/27 11:16:18 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Em1PhysListEmStandard_h
#define Em1PhysListEmStandard_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysListEmStandard : public G4VPhysicsConstructor
{
public:
Em1PhysListEmStandard(const G4String& name = "standard");
virtual ~Em1PhysListEmStandard();
public:
// This method is dummy for physics
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();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#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: Em1PhysListGeneral.hh,v 1.1 2003/03/27 11:16:18 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Em1PhysListGeneral_h
#define Em1PhysListGeneral_h 1
#include "G4VPhysicsConstructor.hh"
#include "G4Decay.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysListGeneral : public G4VPhysicsConstructor
{
public:
Em1PhysListGeneral(const G4String& name = "general");
virtual ~Em1PhysListGeneral();
public:
// This method is dummy for physics
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();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,65 @@
//
// ********************************************************************
// * 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: Em1PhysListParticles.hh,v 1.1 2003/03/27 11:16:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Em1PhysListParticles_h
#define Em1PhysListParticles_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysListParticles : public G4VPhysicsConstructor
{
public:
Em1PhysListParticles(const G4String& name = "particles");
virtual ~Em1PhysListParticles();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
virtual void ConstructParticle();
// This method is dummy.
virtual void ConstructProcess() {};
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -21,61 +21,57 @@
// ********************************************************************
//
//
// $Id: Em1PhysicsList.hh,v 1.5 2002/03/08 13:43:29 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em1PhysicsList.hh,v 1.7 2003/03/27 11:16:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
// 14.10.02 (V.Ivanchenko) provide modular list on base of old Em1PhysicsList
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef Em1PhysicsList_h
#define Em1PhysicsList_h 1
#include "G4VUserPhysicsList.hh"
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class Em1DetectorConstruction;
class Em1PhysicsListMessenger;
class G4VPhysicsConstructor;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysicsList: public G4VUserPhysicsList
class Em1PhysicsList: public G4VModularPhysicsList
{
public:
Em1PhysicsList(Em1DetectorConstruction*);
~Em1PhysicsList();
protected:
// Construct particles
void ConstructParticle();
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBarions();
public:
void SetCuts();
void SetGammaCut(G4double);
void SetElectronCut(G4double);
void SetProtonCut(G4double);
void GetRange(G4double);
protected:
// Construct processes and register them
void ConstructProcess();
void ConstructGeneral();
void ConstructEM();
private:
Em1DetectorConstruction* pDet;
Em1PhysicsListMessenger* pMes;
virtual void ConstructParticle();
virtual void ConstructProcess();
void AddPhysicsList(const G4String& name);
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
void GetRange(G4double);
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForProton;
G4double cutForPositron;
G4double currentDefaultCut;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* particleList;
G4String emName;
Em1DetectorConstruction* pDet;
Em1PhysicsListMessenger* pMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em1PhysicsListMessenger.hh,v 1.5 2002/03/08 13:43:29 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em1PhysicsListMessenger.hh,v 1.7 2003/03/27 11:16:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -37,25 +37,33 @@
class Em1PhysicsList;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class Em1PhysicsListMessenger: public G4UImessenger
{
public:
Em1PhysicsListMessenger(Em1PhysicsList*);
Em1PhysicsListMessenger(Em1PhysicsList* );
~Em1PhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
Em1PhysicsList* physList;
G4UIcmdWithADoubleAndUnit* cutGCmd;
G4UIcmdWithADoubleAndUnit* cutECmd;
G4UIcmdWithADoubleAndUnit* cutPCmd;
G4UIcmdWithADoubleAndUnit* rCmd;
Em1PhysicsList* pPhysicsList;
G4UIcmdWithADoubleAndUnit* gammaCutCmd;
G4UIcmdWithADoubleAndUnit* electCutCmd;
G4UIcmdWithADoubleAndUnit* protoCutCmd;
G4UIcmdWithADoubleAndUnit* allCutCmd;
G4UIcmdWithADoubleAndUnit* rCmd;
G4UIcmdWithAString* pListCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: Em1PrimaryGeneratorAction.hh,v 1.5 2001/12/07 11:49:09 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1PrimaryGeneratorMessenger.hh,v 1.1 2001/12/07 11:49:09 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1RunAction.hh,v 1.10 2002/12/11 14:19:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1SteppingAction.hh,v 1.4 2001/10/26 12:51:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1SteppingVerbose.hh,v 1.7 2001/10/26 12:51:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -22,7 +22,7 @@
//
//
// $Id: Em1TrackingAction.hh,v 1.4 2001/10/26 12:51:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em1VisManager.hh,v 1.4 2001/10/26 12:51:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ProcessesCount.hh,v 1.7 2001/10/26 12:51:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,8 +22,8 @@
//
//
// $Id: Em1DetectorConstruction.cc,v 1.9 2002/05/31 17:10:35 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em1DetectorConstruction.cc,v 1.13 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -53,10 +53,12 @@
Em1DetectorConstruction::Em1DetectorConstruction()
:pBox (0), lBox (0),
aMaterial(0),
aMaterial(0),
magField (0)
{
// create commands for interactive definition of the detector
// create commands for interactive definition of the detector
DefineMaterials();
BoxSize = 20*m;
detectorMessenger = new Em1DetectorMessenger(this);
}
@@ -69,125 +71,128 @@ Em1DetectorConstruction::~Em1DetectorConstruction()
G4VPhysicalVolume* Em1DetectorConstruction::Construct()
{
DefineMaterials();
BoxSize = 20*m;
return ConstructVolumes();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1DetectorConstruction::DefineMaterials()
{
{
//This function illustrates the possible ways to define materials
G4String name, symbol; //a=mass of a mole;
G4double a, z, density; //z=mean number of protons;
G4int ncomponents, natoms;
G4double fractionmass;
G4String name, symbol; //a=mass of a mole;
G4double a, z, density; //z=mean number of protons;
G4int ncomponents, natoms;
G4double fractionmass;
G4Material* ma;
//
// define Elements
//
a = 1.01*g/mole;
G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
a = 1.01*g/mole;
G4Element* H = new G4Element(name="Hydrogen",symbol="H" , z= 1., a);
a = 14.01*g/mole;
G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
a = 14.01*g/mole;
G4Element* N = new G4Element(name="Nitrogen",symbol="N" , z= 7., a);
a = 16.00*g/mole;
G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a);
a = 16.00*g/mole;
G4Element* O = new G4Element(name="Oxygen" ,symbol="O" , z= 8., a);
//
// define materials
//
density = 1.290*mg/cm3;
G4Material* Air = new G4Material(name="Air" , density, ncomponents=2);
Air->AddElement(N, fractionmass=70.*perCent);
Air->AddElement(O, fractionmass=30.*perCent);
density = 1.290*mg/cm3;
G4Material* Air = new G4Material(name="Air" , density, ncomponents=2);
Air->AddElement(N, fractionmass=70.*perCent);
Air->AddElement(O, fractionmass=30.*perCent);
density = 70.8*mg/cm3;
G4Material* H2l = new G4Material(name="H2liquid", density, ncomponents=1);
H2l->AddElement(H, fractionmass=1.);
density = 1.000*g/cm3;
G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
density = 70.8*mg/cm3;
G4Material* H2l = new G4Material(name="H2liquid", density, ncomponents=1);
H2l->AddElement(H, fractionmass=1.);
density = 1.390*g/cm3;
a = 39.95*g/mole;
G4Material* lAr = new G4Material(name="liquidArgon", z=18., a, density);
density = 1.000*g/cm3;
G4Material* H2O = new G4Material(name="Water", density, ncomponents=2);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
H2O->SetChemicalFormula("H_2O");
H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
density = 2.700*g/cm3;
a = 26.98*g/mole;
G4Material* Al = new G4Material(name="Aluminium" , z=13., a, density);
density = 1.390*g/cm3;
a = 39.95*g/mole;
ma = new G4Material(name="liquidArgon", z=18., a, density);
density = 2.330*g/cm3;
a = 28.09*g/mole;
G4Material* Si = new G4Material(name="Silicon" , z=14., a, density);
density = 2.700*g/cm3;
a = 26.98*g/mole;
G4Material* Al = new G4Material(name="Aluminium" , z=13., a, density);
density = 5.323*g/cm3;
a = 72.61*g/mole;
G4Material* Ge = new G4Material(name="Germanium" , z=32., a, density);
density = 2.330*g/cm3;
a = 28.09*g/mole;
ma = new G4Material(name="Silicon" , z=14., a, density);
density = 7.870*g/cm3;
a = 55.85*g/mole;
G4Material* Fe = new G4Material(name="Iron" , z=26., a, density);
density = 5.323*g/cm3;
a = 72.61*g/mole;
ma = new G4Material(name="Germanium" , z=32., a, density);
density = 19.30*g/cm3;
a = 183.85*g/mole;
G4Material* W = new G4Material(name="Tungsten" , z=74., a, density);
density = 7.870*g/cm3;
a = 55.85*g/mole;
ma = new G4Material(name="Iron" , z=26., a, density);
density = 11.35*g/cm3;
a = 207.19*g/mole;
G4Material* Pb = new G4Material(name="Lead" , z=82., a, density);
density = 19.30*g/cm3;
a = 183.85*g/mole;
ma = new G4Material(name="Tungsten" , z=74., a, density);
density = 18.95*g/cm3;
a = 238.03*g/mole;
G4Material* U = new G4Material(name="Uranium" , z=92., a, density);
density = 11.35*g/cm3;
a = 207.19*g/mole;
ma = new G4Material(name="Lead" , z=82., a, density);
density = 18.95*g/cm3;
a = 238.03*g/mole;
ma = new G4Material(name="Uranium" , z=92., a, density);
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
//default materials of the calorimeter
aMaterial = Al;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* Em1DetectorConstruction::ConstructVolumes()
{
{
if(lBox) delete lBox;
if(pBox) delete pBox;
G4Box*
sBox = new G4Box("Container", //its name
BoxSize/2,BoxSize/2,BoxSize/2); //its dimensions
lBox = new G4LogicalVolume(sBox, //its shape
aMaterial, //its material
"Container"); //its name
aMaterial->GetName()); //its name
pBox = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
"Container", //its name
lBox, //its logical volume
0, //its mother volume
lBox, //its logical volume
aMaterial->GetName(), //its name
0, //its mother volume
false, //no boolean operation
0); //copy number
//
//
// Visualization attributes
//
G4VisAttributes* visAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
visAtt->SetVisibility(true);
lBox->SetVisAttributes(visAtt);
//
//always return the root volume
//
PrintParameters();
return pBox;
}
@@ -204,12 +209,12 @@ void Em1DetectorConstruction::PrintParameters()
void Em1DetectorConstruction::SetMaterial(G4String materialChoice)
{
// search the material by its name
G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
// search the material by its name
G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
if (pttoMaterial)
{aMaterial = pttoMaterial;
lBox->SetMaterial(aMaterial);
}
lBox->SetMaterial(aMaterial);
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -217,21 +222,21 @@ void Em1DetectorConstruction::SetMaterial(G4String materialChoice)
void Em1DetectorConstruction::SetSize(G4double value)
{
BoxSize = value;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1DetectorConstruction::SetMagField(G4double fieldValue)
{
//apply a global uniform magnetic field along Z axis
G4FieldManager* fieldMgr
G4FieldManager* fieldMgr
= G4TransportationManager::GetTransportationManager()->GetFieldManager();
if (magField) delete magField; //delete the existing magn field
if (fieldValue!=0.) // create a new one if non nul
{
magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
fieldMgr->SetDetectorField(magField);
fieldMgr->CreateChordFinder(magField);
}
@@ -243,10 +248,16 @@ void Em1DetectorConstruction::SetMagField(G4double fieldValue)
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1DetectorConstruction::UpdateGeometry()
{
G4RunManager::GetRunManager()->DefineWorldVolume(ConstructVolumes());
G4bool first = true;
if (pBox) first = false;
G4VPhysicalVolume* v = ConstructVolumes();
G4RunManager* rm = G4RunManager::GetRunManager();
rm->GeometryHasBeenModified();
rm->DefineWorldVolume(v);
if (!first) rm->ResetNavigator();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em1DetectorMessenger.cc,v 1.6 2002/12/11 14:19:23 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1EventAction.cc,v 1.6 2001/11/29 11:28:07 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1EventActionMessenger.cc,v 1.6 2002/12/11 14:19:23 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -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: Em1PhysListEmModel.cc,v 1.1 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Em1PhysListEmModel.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScatteringSTD.hh"
#include "G4eIonisationSTD.hh"
#include "G4eBremsstrahlungSTD.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisationSTD.hh"
#include "G4MuBremsstrahlungSTD.hh"
#include "G4MuPairProductionSTD.hh"
#include "G4hIonisationSTD.hh"
#include "G4ionIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListEmModel::Em1PhysListEmModel(const G4String& name)
: G4VPhysicsConstructor(name)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListEmModel::~Em1PhysListEmModel()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysListEmModel::ConstructProcess()
{
// Add EM processes realised on base of prototype of model approach design
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
pmanager->AddDiscreteProcess(new G4ComptonScattering);
pmanager->AddDiscreteProcess(new G4GammaConversion);
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1);
pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScatteringSTD, -1, 1,1);
pmanager->AddProcess(new G4eIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlungSTD, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScatteringSTD,-1, 1,1);
pmanager->AddProcess(new G4MuIonisationSTD, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlungSTD, -1,-1,3);
pmanager->AddProcess(new G4MuPairProductionSTD, -1,-1,4);
} else if( particleName == "GenericIon" ) {
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
pmanager->AddProcess(new G4ionIonisation, -1,2,2);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScatteringSTD,-1,1,1);
pmanager->AddProcess(new G4hIonisationSTD, -1,2,2);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,111 @@
//
// ********************************************************************
// * 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: Em1PhysListEmStandard.cc,v 1.1 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Em1PhysListEmStandard.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListEmStandard::Em1PhysListEmStandard(const G4String& name)
: G4VPhysicsConstructor(name)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListEmStandard::~Em1PhysListEmStandard()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysListEmStandard::ConstructProcess()
{
// Add standard EM Processes
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
pmanager->AddDiscreteProcess(new G4ComptonScattering);
pmanager->AddDiscreteProcess(new G4GammaConversion);
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4MuPairProduction, -1,-1,4);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering,-1,1,1);
pmanager->AddProcess(new G4hIonisation, -1,2,2);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,71 @@
//
// ********************************************************************
// * 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: Em1PhysListGeneral.cc,v 1.1 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Em1PhysListGeneral.hh"
#include "G4ParticleDefinition.hh"
#include "G4ProcessManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListGeneral::Em1PhysListGeneral(const G4String& name)
: G4VPhysicsConstructor(name)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListGeneral::~Em1PhysListGeneral()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysListGeneral::ConstructProcess()
{
// Add Decay Process
G4Decay* fDecayProcess = new G4Decay();
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
if (fDecayProcess->IsApplicable(*particle)) {
pmanager ->AddProcess(fDecayProcess);
// set ordering for PostStepDoIt and AtRestDoIt
pmanager ->SetProcessOrdering(fDecayProcess, idxPostStep);
pmanager ->SetProcessOrdering(fDecayProcess, idxAtRest);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,141 @@
//
// ********************************************************************
// * 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: Em1PhysListParticles.cc,v 1.1 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Em1PhysListParticles.hh"
// Bosons
#include "G4ChargedGeantino.hh"
#include "G4Geantino.hh"
#include "G4Gamma.hh"
#include "G4OpticalPhoton.hh"
// leptons
#include "G4MuonPlus.hh"
#include "G4MuonMinus.hh"
#include "G4NeutrinoMu.hh"
#include "G4AntiNeutrinoMu.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
#include "G4NeutrinoE.hh"
#include "G4AntiNeutrinoE.hh"
// Mesons
#include "G4PionPlus.hh"
#include "G4PionMinus.hh"
#include "G4PionZero.hh"
#include "G4Eta.hh"
#include "G4EtaPrime.hh"
#include "G4KaonPlus.hh"
#include "G4KaonMinus.hh"
#include "G4KaonZero.hh"
#include "G4AntiKaonZero.hh"
#include "G4KaonZeroLong.hh"
#include "G4KaonZeroShort.hh"
// Baryons
#include "G4Proton.hh"
#include "G4AntiProton.hh"
#include "G4Neutron.hh"
#include "G4AntiNeutron.hh"
// Nuclei
#include "G4Alpha.hh"
#include "G4Deuteron.hh"
#include "G4Triton.hh"
#include "G4He3.hh"
#include "G4GenericIon.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListParticles::Em1PhysListParticles(const G4String& name)
: G4VPhysicsConstructor(name)
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysListParticles::~Em1PhysListParticles()
{}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysListParticles::ConstructParticle()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
// leptons
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
// mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4EtaPrime::EtaPrimeDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
G4AntiKaonZero::AntiKaonZeroDefinition();
G4KaonZeroLong::KaonZeroLongDefinition();
G4KaonZeroShort::KaonZeroShortDefinition();
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
// ions
G4Deuteron::DeuteronDefinition();
G4Triton::TritonDefinition();
G4He3::He3Definition();
G4Alpha::AlphaDefinition();
G4GenericIon::GenericIonDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -20,293 +20,165 @@
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: Em1PhysicsList.cc,v 1.6 2002/03/08 13:43:29 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
// $Id: Em1PhysicsList.cc,v 1.11 2003/03/27 11:16:20 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "Em1PhysicsList.hh"
#include "Em1PhysicsListMessenger.hh"
#include "G4UnitsTable.hh"
#include "Em1PhysListParticles.hh"
#include "Em1PhysListGeneral.hh"
#include "Em1PhysListEmStandard.hh"
#include "Em1PhysListEmModel.hh"
#include "G4Gamma.hh"
#include "G4Electron.hh"
#include "G4Positron.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleWithCuts.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4ios.hh"
#include "G4ParticleTable.hh"
#include "Em1DetectorConstruction.hh"
#include "G4EnergyLossTables.hh"
#include "G4Material.hh"
#include "G4RunManager.hh"
#include "Em1DetectorConstruction.hh"
#include "Em1PhysicsListMessenger.hh"
#include "G4UImanager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysicsList::Em1PhysicsList(Em1DetectorConstruction* p)
: G4VUserPhysicsList()
Em1PhysicsList::Em1PhysicsList(Em1DetectorConstruction* p)
: G4VModularPhysicsList()
{
pDet = p;
currentDefaultCut = 1.0*mm;
cutForGamma = currentDefaultCut;
cutForElectron = currentDefaultCut;
cutForPositron = currentDefaultCut;
pMessenger = new Em1PhysicsListMessenger(this);
currentDefaultCut = defaultCutValue = 1.*mm;
cutForGamma = defaultCutValue;
cutForElectron = defaultCutValue;
cutForProton = defaultCutValue;
pMes = new Em1PhysicsListMessenger(this);
SetVerboseLevel(1);
// Particles
particleList = new Em1PhysListParticles("particles");
// General Physics
generalPhysicsList = new Em1PhysListGeneral("general");
// EM physics
emName = G4String("standard");
emPhysicsList = new Em1PhysListEmStandard(emName);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysicsList::~Em1PhysicsList()
{ delete pMes; }
{
delete pMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructParticle()
{
// In this method, static member functions should be called
// for all particles which you want to use.
// This ensures that objects of these particle types will be
// created in the program.
ConstructBosons();
ConstructLeptons();
ConstructMesons();
ConstructBarions();
particleList->ConstructParticle();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructBosons()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructLeptons()
{
// leptons
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructMesons()
{
// mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4EtaPrime::EtaPrimeDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
G4AntiKaonZero::AntiKaonZeroDefinition();
G4KaonZeroLong::KaonZeroLongDefinition();
G4KaonZeroShort::KaonZeroShortDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructBarions()
{
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructProcess()
{
AddTransportation();
ConstructEM();
ConstructGeneral();
generalPhysicsList->ConstructProcess();
emPhysicsList->ConstructProcess();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hIonisation.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::ConstructEM()
void Em1PhysicsList::AddPhysicsList(const G4String& name)
{
theParticleIterator->reset();
while( (*theParticleIterator)() ){
G4ParticleDefinition* particle = theParticleIterator->value();
G4ProcessManager* pmanager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
pmanager->AddDiscreteProcess(new G4ComptonScattering);
pmanager->AddDiscreteProcess(new G4GammaConversion);
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
if (verboseLevel>1) {
G4cout << "Em1PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
}
if (name == emName) return;
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4MuPairProduction, -1,-1,4);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering,-1,1,1);
pmanager->AddProcess(new G4hIonisation, -1,2,2);
}
if (name == "standard") {
emName = name;
delete emPhysicsList;
emPhysicsList = new Em1PhysListEmStandard(name);
} else if (name == "model") {
emName = name;
delete emPhysicsList;
emPhysicsList = new Em1PhysListEmModel(name);
} else {
G4cout << "Em1PhysicsList::AddPhysicsList: <" << name << ">"
<< " is not defined"
<< G4endl;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Decay.hh"
void Em1PhysicsList::ConstructGeneral()
{
// 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);
}
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::SetCuts()
{
// reactualise cutValues
if (currentDefaultCut != defaultCutValue)
{
if(cutForGamma == currentDefaultCut) cutForGamma = defaultCutValue;
if(cutForElectron == currentDefaultCut) cutForElectron = defaultCutValue;
if(cutForProton == currentDefaultCut) cutForProton = defaultCutValue;
currentDefaultCut = defaultCutValue;
}
{
if (verboseLevel >0){
G4cout << "Em1PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
}
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
// because some processes for e+/e- need cut values for gamma
SetCutValue(cutForGamma, "gamma");
SetCutValue(cutForElectron, "e-");
SetCutValue(cutForElectron, "e+");
// set cut values for proton and anti_proton before all other hadrons
// because some processes for hadrons need cut values for proton/anti_proton
SetCutValue(cutForProton, "proton");
SetCutValue(cutForProton, "anti_proton");
SetCutValueForOthers(defaultCutValue);
SetCutValue(cutForPositron, "e+");
if (verboseLevel>0) DumpCutValuesTable();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::SetGammaCut(G4double val)
void Em1PhysicsList::SetCutForGamma(G4double cut)
{
ResetCuts();
cutForGamma = val;
cutForGamma = cut;
SetParticleCuts(cutForGamma, G4Gamma::Gamma());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::SetElectronCut(G4double val)
void Em1PhysicsList::SetCutForElectron(G4double cut)
{
ResetCuts();
cutForElectron = val;
cutForElectron = cut;
SetParticleCuts(cutForElectron, G4Electron::Electron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::SetProtonCut(G4double val)
void Em1PhysicsList::SetCutForPositron(G4double cut)
{
ResetCuts();
cutForProton = val;
cutForPositron = cut;
SetParticleCuts(cutForPositron, G4Positron::Positron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsList::GetRange(G4double val)
{
G4LogicalVolume* lBox = pDet->GetWorld()->GetLogicalVolume();
G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable();
G4Material* currMat = pDet->GetMaterial();
const G4MaterialCutsCouple* couple = lBox->GetMaterialCutsCouple();
const G4Material* currMat = lBox->GetMaterial();
G4ParticleDefinition* part;
G4double cut;
part = theParticleTable->FindParticle("e-");
cut = G4EnergyLossTables::GetRange(part,val,currMat);
cut = G4EnergyLossTables::GetRange(part,val,couple);
G4cout << "material : " << currMat->GetName() << G4endl;
G4cout << "particle : " << part->GetParticleName() << G4endl;
G4cout << "energy : " << G4BestUnit(val,"Energy") << G4endl;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em1PhysicsListMessenger.cc,v 1.8 2002/12/11 14:19:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em1PhysicsListMessenger.cc,v 1.10 2003/03/27 11:16:21 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -33,66 +33,93 @@
#include "Em1PhysicsList.hh"
#include "G4UIcmdWithADoubleAndUnit.hh"
#include "globals.hh"
#include "G4UIcmdWithAString.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysicsListMessenger::Em1PhysicsListMessenger(Em1PhysicsList* EvAct)
:physList(EvAct)
{
cutGCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this);
cutGCmd->SetGuidance("Set gamma cut.");
cutGCmd->SetParameterName("Gcut",false);
cutGCmd->SetRange("Gcut>0.");
cutGCmd->SetUnitCategory("Length");
cutGCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
Em1PhysicsListMessenger::Em1PhysicsListMessenger(Em1PhysicsList* pPhys)
:pPhysicsList(pPhys)
{
gammaCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setGCut",this);
gammaCutCmd->SetGuidance("Set gamma cut.");
gammaCutCmd->SetParameterName("Gcut",false);
gammaCutCmd->SetUnitCategory("Length");
gammaCutCmd->SetRange("Gcut>0.0");
gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
electCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this);
electCutCmd->SetGuidance("Set electron cut.");
electCutCmd->SetParameterName("Ecut",false);
electCutCmd->SetUnitCategory("Length");
electCutCmd->SetRange("Ecut>0.0");
electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
cutECmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setECut",this);
cutECmd->SetGuidance("Set electron cut");
cutECmd->SetParameterName("Ecut",false);
cutECmd->SetRange("Ecut>0.");
cutECmd->SetUnitCategory("Length");
cutECmd->AvailableForStates(G4State_PreInit,G4State_Idle);
protoCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this);
protoCutCmd->SetGuidance("Set positron cut.");
protoCutCmd->SetParameterName("Pcut",false);
protoCutCmd->SetUnitCategory("Length");
protoCutCmd->SetRange("Pcut>0.0");
protoCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
allCutCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setCuts",this);
allCutCmd->SetGuidance("Set cut for all.");
allCutCmd->SetParameterName("cut",false);
allCutCmd->SetUnitCategory("Length");
allCutCmd->SetRange("cut>0.0");
allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
cutPCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/setPCut",this);
cutPCmd->SetGuidance("Set proton cut.");
cutPCmd->SetParameterName("Pcut",false);
cutPCmd->SetRange("Pcut>0.");
cutPCmd->SetUnitCategory("Length");
cutPCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
rCmd = new G4UIcmdWithADoubleAndUnit("/testem/phys/getRange",this);
rCmd->SetGuidance("get the electron cut for the current material.");
rCmd->SetParameterName("energy",false);
rCmd->SetRange("energy>0.");
rCmd->SetUnitCategory("Energy");
rCmd->AvailableForStates(G4State_Idle);
rCmd->AvailableForStates(G4State_Idle);
pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this);
pListCmd->SetGuidance("Add modula physics list.");
pListCmd->SetParameterName("PList",false);
pListCmd->AvailableForStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Em1PhysicsListMessenger::~Em1PhysicsListMessenger()
{
delete cutGCmd;
delete cutECmd;
delete cutPCmd;
delete gammaCutCmd;
delete electCutCmd;
delete protoCutCmd;
delete allCutCmd;
delete rCmd;
delete pListCmd;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void Em1PhysicsListMessenger::SetNewValue(G4UIcommand* command,
G4String newValue)
{
if(command == cutGCmd)
{physList->SetGammaCut(cutGCmd->GetNewDoubleValue(newValue));}
if(command == cutECmd)
{physList->SetElectronCut(cutECmd->GetNewDoubleValue(newValue));}
if(command == cutPCmd)
{physList->SetProtonCut(cutPCmd->GetNewDoubleValue(newValue));}
if(command == rCmd)
{physList->GetRange(rCmd->GetNewDoubleValue(newValue));}
{
if( command == gammaCutCmd )
{ pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue));}
if( command == electCutCmd )
{ pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue));}
if( command == protoCutCmd )
{ pPhysicsList->SetCutForPositron(protoCutCmd->GetNewDoubleValue(newValue));}
if( command == allCutCmd )
{
G4double cut = allCutCmd->GetNewDoubleValue(newValue);
pPhysicsList->SetCutForGamma(cut);
pPhysicsList->SetCutForElectron(cut);
pPhysicsList->SetCutForPositron(cut);
}
if( command == rCmd )
{ pPhysicsList->GetRange(rCmd->GetNewDoubleValue(newValue));}
if( command == pListCmd )
{ pPhysicsList->AddPhysicsList(newValue);}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em1PrimaryGeneratorAction.cc,v 1.5 2001/12/07 11:49:09 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1PrimaryGeneratorMessenger.cc,v 1.3 2002/12/11 14:19:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1RunAction.cc,v 1.18 2002/12/11 14:19:24 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: Em1SteppingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em1SteppingVerbose.cc,v 1.8 2001/10/26 12:51:26 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em1SteppingVerbose.cc,v 1.9 2003/02/10 17:07:06 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,7 +73,8 @@ void Em1SteppingVerbose::StepInfo()
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
@@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3);
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
@@ -23,7 +23,7 @@
//
// $Id: Em1TrackingAction.cc,v 1.8 2002/05/31 17:10:35 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em1VisManager.cc,v 1.7 2002/11/13 21:39:42 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.
@@ -1,4 +1,4 @@
$Id: History,v 1.5 2002/06/11 16:12:58 maire Exp $
$Id: History,v 1.6 2003/02/20 13:09:28 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,7 +14,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
20 Feb. 2003 Vladimir Ivanchenko (testem10-V05-00-00)
- Migrade to cut per region
11 Jun. 2002 Vladimir Grichine (testem10-V04-00-00)
- new TestEm10.in and TestEm10.largr_N.in
@@ -22,7 +22,7 @@
//
//
// $Id: TestEm10.cc,v 1.2 2001/07/11 09:57:18 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// --------------------------------------------------------------
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
Visualization Manager instantiating...
@@ -225,11 +225,13 @@ Regular X-ray TR radiator EM process is called
48 fGamma = 8.085e+04 sumE = 4.344
49 fGamma = 9.283e+04 sumE = 4.343
total time for build X-ray TR energy loss tables = 74.56 s
total time for build X-ray TR energy loss tables = 74.17 s
phot: Total cross sections from Sandia parametrisation.
Em10PhysicsList::SetCuts:CutLength : 1 mm
total time(SetCuts)=0 s
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
@@ -240,7 +242,8 @@ conv: Total cross sections from a parametrisation. Good description from 1.5 Me
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -252,77 +255,40 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : 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 : radiatorMat
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 990 eV e- 43.8848 keV e+ 43.3478 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : Yes recalculation needed : No
Material : Mylar
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 3.48153 keV e- 540.718 keV e+ 527.568 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 3 used in the geometry : Yes recalculation needed : No
Material : Ar7CH4
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
====================================================================
total time(SetCuts)=16.35 s
============= The cut Energy ==============================
gamma e-
Cut in range
Aluminium 1 mm 1 mm
TRT_CH2 1 mm 1 mm
Radiator 1 mm 1 mm
CarbonFiber 1 mm 1 mm
Li 1 mm 1 mm
Be 1 mm 1 mm
Mylar 1 mm 1 mm
Kapton 1 mm 1 mm
CH2 1 mm 1 mm
He 1 mm 1 mm
Ne 1 mm 1 mm
Argon 1 mm 1 mm
Kr 1 mm 1 mm
Xenon 1 mm 1 mm
CH4 1 mm 1 mm
C3H8 1 mm 1 mm
isoC4H10 1 mm 1 mm
CO2 1 mm 1 mm
CO2 1 mm 1 mm
N2 1 mm 1 mm
O2 1 mm 1 mm
Air 1 mm 1 mm
Xe20CO2 1 mm 1 mm
Kr20CO2 1 mm 1 mm
Xe55He15CH4 1 mm 1 mm
Xe10CH4 1 mm 1 mm
Xe5CH4 1 mm 1 mm
Xe20CH4 1 mm 1 mm
Ar7CH4 1 mm 1 mm
Kr7CH4 1 mm 1 mm
XeArCH4 1 mm 1 mm
radiatorMat 1 mm 1 mm
Cut in energy
Aluminium 6.89 keV 597 keV
TRT_CH2 2.78 keV 515 keV
Radiator 990 eV 89.6 keV
CarbonFiber 1.52 keV 147 keV
Li 1.16 keV 207 keV
Be 1.99 keV 466 keV
Mylar 3.48 keV 541 keV
Kapton 3.48 keV 541 keV
CH2 2.75 keV 502 keV
He 990 eV 990 eV
Ne 990 eV 990 eV
Argon 990 eV 990 eV
Kr 990 eV 1.07 keV
Xenon 990 eV 1.95 keV
CH4 990 eV 990 eV
C3H8 990 eV 990 eV
isoC4H10 990 eV 1.45 keV
CO2 990 eV 990 eV
CO2 990 eV 990 eV
N2 990 eV 990 eV
O2 990 eV 990 eV
Air 990 eV 990 eV
Xe20CO2 990 eV 1.67 keV
Kr20CO2 990 eV 1.09 keV
Xe55He15CH4 990 eV 990 eV
Xe10CH4 990 eV 1.74 keV
Xe5CH4 990 eV 1.83 keV
Xe20CH4 990 eV 1.54 keV
Ar7CH4 990 eV 990 eV
Kr7CH4 990 eV 996 eV
XeArCH4 990 eV 1.04 keV
radiatorMat 990 eV 43.9 keV
===================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -333,25 +299,25 @@ Cut in energy
---> Begin of Event: 0
================== run summary =====================
end of Run TotNbofEvents = 1000
mean charged track length in absorber=23.1038 +- 0.910528 mm
mean charged track length in absorber=23.4199 +- 0.978724 mm
mean energy deposit in absorber=0.00657321 +- 0.000200772 MeV
mean energy deposit in absorber=0.0066657 +- 0.000200206 MeV
mean number of steps in absorber (charged) =1.229 +- 0.0161418
mean number of steps in absorber (neutral) =2.028 +- 0.0442856
mean number of steps in absorber (charged) =1.227 +- 0.0164156
mean number of steps in absorber (neutral) =1.981 +- 0.0448847
mean number of charged secondaries = 0.208 +- 0.0141681
mean number of charged secondaries = 0.203 +- 0.0142755
mean number of neutral secondaries = 0 +- 0
mean number of e-s =0.208 and e+s =0
mean number of e-s =0.203 and e+s =0
(number) transmission coeff=0.171 reflection coeff=0.003
(number) transmission coeff=0.16 reflection coeff=0.006
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1473754610, 1307634574
Current couple of seeds = 1545544388, 618057029
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -22,7 +22,7 @@
//
//
// $Id: Em10CalorHit.hh,v 1.2 2001/07/11 09:57:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10CalorimeterSD.hh,v 1.2 2001/07/11 09:57:19 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10DetectorConstruction.hh,v 1.5 2002/02/05 11:06:37 grichine Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10DetectorMessenger.hh,v 1.3 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10EventAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10EventActionMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PhysicsList.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef Em10PhysicsList_h
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PhysicsListMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PrimaryGeneratorAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PrimaryGeneratorMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10RunAction.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -23,7 +23,7 @@
//
// $Id: Em10RunMessenger.hh,v 1.2 2001/07/11 09:57:20 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10StepCut.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingAction.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingMessenger.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingVerbose.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//---------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: Em10VisManager.hh,v 1.2 2001/07/11 09:57:21 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: TRTDetectorConstruction.hh,v 1.2 2001/07/11 09:57:22 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: TRTMaterials.hh,v 1.2 2001/07/11 09:57:22 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10CalorHit.cc,v 1.2 2001/07/11 09:57:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10CalorimeterSD.cc,v 1.2 2001/07/11 09:57:23 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10DetectorConstruction.cc,v 1.8 2002/02/05 11:06:38 grichine Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10DetectorMessenger.cc,v 1.6 2002/12/05 00:24:24 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10EventAction.cc,v 1.3 2001/11/21 11:57:14 mverderi Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10EventActionMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em10PhysicsList.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em10PhysicsList.cc,v 1.5 2003/02/20 13:09:29 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "G4Timer.hh"
@@ -302,7 +302,7 @@ void Em10PhysicsList::ConstructEM()
particleName == "proton"
|| particleName == "antiproton"
|| particleName == "pi+"
|| particleName == "pi-"
|| particleName == "pi-"
|| particleName == "kaon+"
|| particleName == "kaon-"
)
@@ -399,17 +399,6 @@ void Em10PhysicsList::SetCuts()
SetCutValue(cutForElectron,"e-");
SetCutValue(cutForElectron,"e+");
SetCutValue(defaultCutValue,"mu-");
SetCutValue(defaultCutValue,"mu+");
// set cut values for proton and anti_proton before all other hadrons
// because some processes for hadrons need cut values for proton/anti_proton
SetCutValue(defaultCutValue, "proton");
SetCutValue(defaultCutValue, "anti_proton");
SetCutValueForOthers(defaultCutValue);
if (verboseLevel>1) DumpCutValuesTable();
theTimer.Stop();
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PhysicsListMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PrimaryGeneratorAction.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10PrimaryGeneratorMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10RunAction.cc,v 1.3 2001/11/21 11:57:14 mverderi Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10RunMessenger.cc,v 1.3 2002/12/05 00:24:24 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10StepCut.cc,v 1.2 2001/07/11 09:57:26 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "Em10StepCut.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingAction.cc,v 1.3 2001/11/21 11:57:15 mverderi Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingMessenger.cc,v 1.2 2001/07/11 09:57:27 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -22,7 +22,7 @@
//
//
// $Id: Em10SteppingVerbose.cc,v 1.4 2002/02/05 11:06:38 grichine Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -22,7 +22,7 @@
//
//
// $Id: Em10VisManager.cc,v 1.4 2002/11/13 21:39:47 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.
@@ -1,4 +1,4 @@
$Id: History,v 1.24 2002/12/11 17:12:20 maire Exp $
$Id: History,v 1.28 2003/03/26 16:23:15 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,19 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
26-03-03 mma (testem2-V05-00-03)
- G4PVPlacement and G4PVReplica in logical mother
17-03-03 V.Ivanchenko (testem2-V05-00-02)
- Addition to migration to cut per region
- Update modular structure of PhysicsList
14-02-03 V.Ivanchenko (testem2-V05-00-01)
- Migration to cut per region
12-02-03 mma (testem2-V05-00-00)
- add a blank in SteppingVerbose
11-12-02 mma (testem2-V04-01-03)
- Migration to AIDA 3.0.
@@ -22,7 +22,7 @@
//
//
// $Id: TestEm2.cc,v 1.6 2001/10/25 15:12:05 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,4 +1,4 @@
# $Id: TestEm2.in,v 1.7 2002/10/31 13:58:29 maire Exp $
# $Id: TestEm2.in,v 1.8 2003/02/14 14:21:27 vnivanch Exp $
#
# Macro file for "TestEm2.cc"
# (can be run in batch, without graphic)
@@ -17,12 +17,12 @@
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
/run/initialize
#/testem/det/update
#
/testem/event/printModulo 20
#
@@ -9,6 +9,7 @@
#
/control/verbose 2
/run/verbose 1
/tracking/verbose 0
#
# select EM PhysicsList
#
@@ -16,12 +17,12 @@
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
/run/initialize
#/testem/det/update
#
/testem/event/printModulo 20
#
@@ -1,35 +1,8 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(31-Jul-2002)
Geant4 version $Name: geant4-05-01 $
(13-Dec-2002)
Copyright : Geant4 Collaboration
**********************************************
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)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
FukuiRenderer (DAWN)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
VRML1 (VRML1)
VRML2 (VRML2)
/run/verbose 1
#
# select EM PhysicsList
#
/testem/phys/addPhysics model
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
***** Table : Nb of materials = 9 *****
@@ -67,11 +40,91 @@ Current available graphics systems are:
---> Element: LeadPb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Absorber is 17.848 cm of PbWO4
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)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
/tracking/verbose 0
#
# select EM PhysicsList
#
/testem/phys/addPhysics model
#/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/run/initialize
Absorber is 3.60564 m of Water
phot: Total cross sections from Sandia parametrisation.
Em2PhysicsList::SetCuts:CutLength : 1 mm
========= Table of registered couples ==============================
Index : 0 used in the geometry : No recalculation needed : Yes
Material : Air
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 1 used in the geometry : Yes recalculation needed : Yes
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : No recalculation needed : Yes
Material : lAr
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 3 used in the geometry : No recalculation needed : Yes
Material : Al
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 4 used in the geometry : No recalculation needed : Yes
Material : Fe
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 5 used in the geometry : No recalculation needed : Yes
Material : BGO
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 6 used in the geometry : No recalculation needed : Yes
Material : PbWO4
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 7 used in the geometry : No recalculation needed : Yes
Material : Tungsten
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
Index : 8 used in the geometry : No recalculation needed : Yes
Material : Lead
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : is not ready to print
====================================================================
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
@@ -129,7 +182,7 @@ msc: Tables of transport mean free paths.
muIoni:
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 Escaled > 2 MeV, parametrisation of Bragg peak below.
Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below.
MuBrems:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -144,7 +197,7 @@ MuPairProd:
muIoni:
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 Escaled > 2 MeV, parametrisation of Bragg peak below.
Bether-Bloch model for E > 0.2 MeV parametrisation of Bragg peak below.
MuBrems:
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
@@ -155,41 +208,87 @@ MuPairProd:
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
============= The cut Energy ==============================
gamma e-
Cut in range
Air 5 mm 5 mm
Water 5 mm 5 mm
lAr 5 mm 5 mm
Al 5 mm 5 mm
Fe 5 mm 5 mm
BGO 5 mm 5 mm
PbWO4 5 mm 5 mm
Tungsten 5 mm 5 mm
Lead 5 mm 5 mm
Cut in energy
Air 990 eV 3.24 keV
Water 5.78 keV 1.16 MeV
lAr 13.6 keV 1.16 MeV
Al 14.6 keV 2.31 MeV
Fe 46.4 keV 6.11 MeV
BGO 126 keV 4.72 MeV
PbWO4 137 keV 5.34 MeV
Tungsten 241 keV 13 MeV
Lead 204 keV 6.83 MeV
===================================================
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
Absorber is 3.60564 m of Water
======== Table of production thresholds in range and energy ===========
-----------------------------------------------------------------------
Region : DefaultRegionForTheWorld
-----------------------------------------------------------------------
gamma e- e+
Threshold in range 5 mm 5 mm 5 mm
Water 5.78 keV 1.16 MeV 1.1 MeV
=======================================================================
#/testem/det/update
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
========= Table of registered couples ==============================
Index : 0 used in the geometry : No recalculation needed : No
Material : Air
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 990 eV e- 3.2397 keV e+ 3.20006 keV
Index : 1 used in the geometry : Yes recalculation needed : No
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : No recalculation needed : No
Material : lAr
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 13.5776 keV e- 1.15997 MeV e+ 1.10423 MeV
Index : 3 used in the geometry : No recalculation needed : No
Material : Al
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 14.6203 keV e- 2.31122 MeV e+ 2.14666 MeV
Index : 4 used in the geometry : No recalculation needed : No
Material : Fe
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 46.4433 keV e- 6.11229 MeV e+ 5.74741 MeV
Index : 5 used in the geometry : No recalculation needed : No
Material : BGO
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 125.956 keV e- 4.71987 MeV e+ 4.38381 MeV
Index : 6 used in the geometry : No recalculation needed : No
Material : PbWO4
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 137.419 keV e- 5.33819 MeV e+ 4.9581 MeV
Index : 7 used in the geometry : No recalculation needed : No
Material : Tungsten
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 241.105 keV e- 12.9518 MeV e+ 12.0297 MeV
Index : 8 used in the geometry : No recalculation needed : No
Material : Lead
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 204.169 keV e- 6.82843 MeV e+ 6.34224 MeV
====================================================================
======== Table of production thresholds in range and energy ===========
-----------------------------------------------------------------------
Region : DefaultRegionForTheWorld
-----------------------------------------------------------------------
gamma e- e+
Threshold in range 5 mm 5 mm 5 mm
Water 5.78 keV 1.16 MeV 1.1 MeV
=======================================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -210,20 +309,20 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=5.87s Real=6.23s Sys=0.26s
User=5.34s Real=5.37s Sys=0.02s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 12.58% 5.30% 0-> 1.11 radl: 12.58% 5.30%
1.11-> 2.22 radl: 23.85% 9.95% 0-> 2.22 radl: 36.43% 13.16%
2.22-> 3.33 radl: 22.18% 9.52% 0-> 3.33 radl: 58.61% 16.17%
3.33-> 4.44 radl: 14.36% 7.89% 0-> 4.44 radl: 72.97% 15.41%
4.44-> 5.55 radl: 9.35% 6.69% 0-> 5.55 radl: 82.32% 13.50%
5.55-> 6.66 radl: 5.51% 5.48% 0-> 6.66 radl: 87.83% 11.97%
6.66-> 7.77 radl: 2.54% 3.20% 0-> 7.77 radl: 90.37% 10.44%
7.77-> 8.88 radl: 1.80% 3.49% 0-> 8.88 radl: 92.17% 8.50%
8.88-> 9.99 radl: 1.03% 2.39% 0-> 9.99 radl: 93.20% 7.61%
0.00-> 1.11 radl: 14.12% 5.47% 0-> 1.11 radl: 14.12% 5.47%
1.11-> 2.22 radl: 25.22% 10.29% 0-> 2.22 radl: 39.34% 12.63%
2.22-> 3.33 radl: 21.45% 9.35% 0-> 3.33 radl: 60.78% 14.02%
3.33-> 4.44 radl: 14.66% 7.61% 0-> 4.44 radl: 75.44% 13.94%
4.44-> 5.55 radl: 9.02% 5.76% 0-> 5.55 radl: 84.47% 12.04%
5.55-> 6.66 radl: 5.67% 6.05% 0-> 6.66 radl: 90.14% 7.83%
6.66-> 7.77 radl: 2.98% 4.29% 0-> 7.77 radl: 93.12% 5.18%
7.77-> 8.88 radl: 1.23% 2.37% 0-> 8.88 radl: 94.35% 4.33%
8.88-> 9.99 radl: 0.63% 1.55% 0-> 9.99 radl: 94.98% 3.90%
@@ -231,21 +330,21 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 66.31% 10.78% 0-> 0.11 radl: 66.31% 10.78%
0.11-> 0.22 radl: 15.55% 6.57% 0-> 0.22 radl: 81.86% 8.33%
0.22-> 0.33 radl: 5.83% 3.71% 0-> 0.33 radl: 87.69% 7.76%
0.33-> 0.44 radl: 2.63% 1.84% 0-> 0.44 radl: 90.32% 7.69%
0.44-> 0.56 radl: 1.82% 1.38% 0-> 0.56 radl: 92.14% 7.58%
0.56-> 0.67 radl: 1.06% 1.04% 0-> 0.67 radl: 93.20% 7.61%
0.00-> 0.11 radl: 70.14% 7.35% 0-> 0.11 radl: 70.14% 7.35%
0.11-> 0.22 radl: 14.15% 5.09% 0-> 0.22 radl: 84.28% 6.21%
0.22-> 0.33 radl: 5.21% 3.02% 0-> 0.33 radl: 89.50% 5.24%
0.33-> 0.44 radl: 2.83% 2.05% 0-> 0.44 radl: 92.32% 4.50%
0.44-> 0.56 radl: 1.63% 1.66% 0-> 0.56 radl: 93.95% 3.98%
0.56-> 0.67 radl: 1.02% 1.01% 0-> 0.67 radl: 94.98% 3.90%
SUMMARY
energy deposit : 93.20 % E0 +- 7.61 % E0
charged traklen: 13.45 radl +- 1.10 radl
neutral traklen: 204.04 radl +- 24.43 radl
energy deposit : 94.98 % E0 +- 3.90 % E0
charged traklen: 13.76 radl +- 0.58 radl
neutral traklen: 199.64 radl +- 19.43 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 134990405, 73697489
Current couple of seeds = 603014974, 1128376559
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -1,31 +1,9 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
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)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
#
# select EM PhysicsList
#
#/testem/phys/addPhysics model
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
/run/initialize
G4Material: Mean excitation energy is changed for Water Iold= 70.8926eV; Inew= 75 eV;
***** Table : Nb of materials = 9 *****
@@ -33,7 +11,7 @@ Current available graphics systems are:
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: Water H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
@@ -63,10 +41,44 @@ Current available graphics systems are:
---> Element: Lead Pb Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Absorber is 17.848 cm of PbWO4
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)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
/run/verbose 1
#
# select EM PhysicsList
#
#/testem/phys/addPhysics model
/testem/phys/addPhysics standard
#
/testem/phys/setCuts 5.0 mm
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/run/initialize
Absorber is 3.60564 m of Water
phot: Total cross sections from Sandia parametrisation.
Em2PhysicsList::SetCuts:CutLength : 1 mm
#/testem/det/update
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
@@ -83,7 +95,8 @@ msc: Tables of transport mean free paths.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -104,6 +117,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -122,41 +136,18 @@ MuBrems: theoretical cross section
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e-
Cut in range
Air 5 mm 5 mm
Water 5 mm 5 mm
lAr 5 mm 5 mm
Al 5 mm 5 mm
Fe 5 mm 5 mm
BGO 5 mm 5 mm
PbWO4 5 mm 5 mm
Tungsten 5 mm 5 mm
Lead 5 mm 5 mm
Cut in energy
Air 990 eV 3.24 keV
Water 5.78 keV 1.16 MeV
lAr 13.6 keV 1.16 MeV
Al 14.6 keV 2.31 MeV
Fe 46.4 keV 6.11 MeV
BGO 126 keV 4.72 MeV
PbWO4 137 keV 5.34 MeV
Tungsten 241 keV 13 MeV
Lead 204 keV 6.83 MeV
===================================================
#
/testem/det/setMat Water
/testem/det/setLbin 9 1.11
/testem/det/setRbin 6 0.111
/testem/det/update
Absorber is 3.60564 m of Water
#
/testem/event/printModulo 20
#
/gun/particle e-
/gun/energy 1 GeV
/run/beamOn 100
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Water
Range cuts : gamma 5 mm e- 5 mm e+ 5 mm
Energy thresholds : gamma 5.78478 keV e- 1.15997 MeV e+ 1.10423 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
--------- Ranecu engine status ---------
@@ -177,20 +168,20 @@ Start Run processing.
Run terminated.
Run Summary
Number of events processed : 100
User=23.55s Real=29.75s Sys=3.06s
User=23.77s Real=40.12s Sys=2.87s
LATERAL PROFILE CUMULATIVE LATERAL PROFILE
bin Mean rms bin Mean rms
0.00-> 1.11 radl: 14.75% 6.29% 0-> 1.11 radl: 14.75% 6.29%
1.11-> 2.22 radl: 22.10% 9.69% 0-> 2.22 radl: 36.84% 12.22%
2.22-> 3.33 radl: 20.44% 8.15% 0-> 3.33 radl: 57.28% 13.93%
3.33-> 4.44 radl: 14.74% 8.52% 0-> 4.44 radl: 72.02% 13.31%
4.44-> 5.55 radl: 9.78% 6.96% 0-> 5.55 radl: 81.79% 11.49%
5.55-> 6.66 radl: 6.76% 5.80% 0-> 6.66 radl: 88.55% 8.07%
6.66-> 7.77 radl: 2.97% 4.08% 0-> 7.77 radl: 91.52% 5.98%
7.77-> 8.88 radl: 1.92% 3.10% 0-> 8.88 radl: 93.44% 4.74%
8.88-> 9.99 radl: 0.81% 1.68% 0-> 9.99 radl: 94.25% 4.23%
0.00-> 1.11 radl: 14.36% 5.72% 0-> 1.11 radl: 14.36% 5.72%
1.11-> 2.22 radl: 26.26% 10.79% 0-> 2.22 radl: 40.62% 13.37%
2.22-> 3.33 radl: 22.19% 9.03% 0-> 3.33 radl: 62.81% 15.91%
3.33-> 4.44 radl: 13.75% 7.33% 0-> 4.44 radl: 76.56% 14.26%
4.44-> 5.55 radl: 8.50% 7.31% 0-> 5.55 radl: 85.06% 10.05%
5.55-> 6.66 radl: 5.11% 5.66% 0-> 6.66 radl: 90.17% 6.73%
6.66-> 7.77 radl: 2.43% 3.31% 0-> 7.77 radl: 92.60% 5.49%
7.77-> 8.88 radl: 1.46% 2.59% 0-> 8.88 radl: 94.06% 3.94%
8.88-> 9.99 radl: 0.77% 2.44% 0-> 9.99 radl: 94.83% 3.01%
@@ -198,21 +189,21 @@ Run Summary
bin Mean rms bin Mean rms
0.00-> 0.11 radl: 66.75% 9.25% 0-> 0.11 radl: 66.75% 9.25%
0.11-> 0.22 radl: 15.01% 5.71% 0-> 0.22 radl: 81.76% 6.91%
0.22-> 0.33 radl: 5.87% 3.76% 0-> 0.33 radl: 87.63% 5.52%
0.33-> 0.44 radl: 3.22% 2.53% 0-> 0.44 radl: 90.85% 4.86%
0.44-> 0.56 radl: 2.09% 1.82% 0-> 0.56 radl: 92.94% 4.39%
0.56-> 0.67 radl: 1.32% 1.29% 0-> 0.67 radl: 94.25% 4.23%
0.00-> 0.11 radl: 68.50% 9.87% 0-> 0.11 radl: 68.50% 9.87%
0.11-> 0.22 radl: 14.54% 7.51% 0-> 0.22 radl: 83.05% 6.59%
0.22-> 0.33 radl: 5.46% 3.40% 0-> 0.33 radl: 88.51% 5.19%
0.33-> 0.44 radl: 3.16% 2.72% 0-> 0.44 radl: 91.67% 4.03%
0.44-> 0.56 radl: 1.89% 2.15% 0-> 0.56 radl: 93.55% 3.36%
0.56-> 0.67 radl: 1.27% 1.12% 0-> 0.67 radl: 94.83% 3.01%
SUMMARY
energy deposit : 94.25 % E0 +- 4.23 % E0
charged traklen: 13.70 radl +- 0.61 radl
neutral traklen: 200.64 radl +- 19.55 radl
energy deposit : 94.83 % E0 +- 3.01 % E0
charged traklen: 13.83 radl +- 0.44 radl
neutral traklen: 204.03 radl +- 17.83 radl
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 1371468372, 1731317846
Current couple of seeds = 341185374, 166917226
----------------------------------------
Graphics systems deleted.
Visualization Manager deleting...
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorConstruction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorConstruction.hh,v 1.6 2003/02/14 14:21:28 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -54,7 +54,7 @@ class Em2DetectorConstruction : public G4VUserDetectorConstruction
public:
void SetMaterial(G4String);
void SetMaterial(const G4String&);
void SetLBining (G4ThreeVector);
void SetRBining (G4ThreeVector);
void SetMagField(G4double);
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2DetectorMessenger.hh,v 1.5 2002/12/11 17:12:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2DetectorMessenger.hh,v 1.6 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2EventActionMessenger.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2EventActionMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmModel.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmModel.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListEmStandard.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListEmStandard.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListGeneral.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListGeneral.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysListParticles.hh,v 1.1 2002/10/31 14:07:47 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysListParticles.hh,v 1.2 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsList.hh,v 1.7 2002/10/31 13:58:32 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysicsList.hh,v 1.9 2003/03/17 15:30:08 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -38,6 +38,7 @@
#include "globals.hh"
class Em2PhysicsListMessenger;
class G4VPhysicsConstructor;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -47,21 +48,25 @@ class Em2PhysicsList: public G4VModularPhysicsList
Em2PhysicsList();
~Em2PhysicsList();
virtual void ConstructParticle();
virtual void ConstructProcess();
void AddPhysicsList(const G4String& name);
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForElectron;
G4double cutForPositron;
G4double currentDefaultCut;
G4VPhysicsConstructor* emPhysicsList;
G4VPhysicsConstructor* generalPhysicsList;
G4VPhysicsConstructor* particleList;
G4String emName;
G4bool emPhysicsListIsRegistered;
Em2PhysicsListMessenger* pMessenger;
};
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PhysicsListMessenger.hh,v 1.4 2002/10/14 15:56:11 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PhysicsListMessenger.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2PrimaryGeneratorAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2PrimaryGeneratorAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2RunAction.hh,v 1.12 2002/12/11 17:12:22 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2RunAction.hh,v 1.13 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2SteppingVerbose.hh,v 1.7 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2SteppingVerbose.hh,v 1.8 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: Em2TrackingAction.hh,v 1.4 2001/10/25 15:12:06 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: Em2TrackingAction.hh,v 1.5 2002/12/16 11:29:22 stesting Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//

Some files were not shown because too many files have changed in this diff Show More