Import Geant4 8.1.0 source tree
This commit is contained in:
@@ -1,221 +0,0 @@
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-07-01-ref-01 (30-June-2005)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
*************************************************************
|
||||
|
||||
|
||||
***** Table : Nb of materials = 14 *****
|
||||
|
||||
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
|
||||
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
|
||||
|
||||
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 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 %
|
||||
|
||||
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
|
||||
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
|
||||
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Silicon density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm
|
||||
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Germanium density: 5.323 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 2.301 cm
|
||||
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: NaI density: 3.670 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 2.586 cm
|
||||
---> Element: Sodium (Na) Z = 11.0 N = 23.0 A = 22.99 g/mole fractionMass: 15.34 % Abundance 50.00 %
|
||||
---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole fractionMass: 84.66 % Abundance 50.00 %
|
||||
|
||||
Material: Iodine density: 4.930 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.720 cm
|
||||
---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 15.41 % Abundance 63.16 %
|
||||
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole fractionMass: 17.48 % Abundance 15.79 %
|
||||
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole fractionMass: 67.10 % Abundance 21.05 %
|
||||
|
||||
Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm
|
||||
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm
|
||||
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
|
||||
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
|
||||
Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm
|
||||
---> 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)
|
||||
G4HepRep (HepRepXML)
|
||||
G4HepRepFile (HepRepFile)
|
||||
RayTracer (RayTracer)
|
||||
VRML1FILE (VRML1FILE)
|
||||
VRML2FILE (VRML2FILE)
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Water
|
||||
/testem/det/setSize 100 m
|
||||
#
|
||||
/run/initialize
|
||||
userDetector->Construct() start.
|
||||
|
||||
The Box is 100 m of Water
|
||||
Water is registered to the default region.
|
||||
physicsList->Construct() start.
|
||||
physicsList->ConstructParticle() start.
|
||||
physicsList->Construct() start.
|
||||
physicsList->setCut() start.
|
||||
#
|
||||
/gun/energy 100 keV
|
||||
#
|
||||
/testem/event/printModulo 10000
|
||||
#
|
||||
/run/beamOn 100000
|
||||
|
||||
phot: Total cross sections from Sandia parametrisation.
|
||||
|
||||
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
|
||||
Sampling according Klein-Nishina model
|
||||
tables are built for gamma
|
||||
Lambda tables from 100 eV to 100 GeV in 90 bins.
|
||||
|
||||
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
|
||||
sampling secondary e+e- according to the Bethe-Heitler model
|
||||
tables are built for gamma
|
||||
Lambda tables from 1.022 MeV to 100 GeV in 100 bins.
|
||||
|
||||
GammaToMuPair: gamma->mu+mu- Bethe Heitler process.
|
||||
good cross section parametrization from 422.634 MeV to 1e+12 GeV for all Z.
|
||||
|
||||
msc: Model variant of multiple scattering for e-
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary algorithm is active with facrange= 0.199
|
||||
|
||||
eIoni: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
|
||||
|
||||
eBrem: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
|
||||
|
||||
eIoni: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 1
|
||||
|
||||
eBrem: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
|
||||
|
||||
annihil: Heilter model of formula of annihilation into 2 photons
|
||||
tables are built for e+
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
|
||||
Region DefaultRegionForTheWorld
|
||||
Materials : Water
|
||||
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
|
||||
Index : 0 used in the geometry : Yes recalculation needed : No
|
||||
Material : Water
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
====================================================================
|
||||
|
||||
Start closing geometry.
|
||||
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
|
||||
|
||||
Total memory consumed for geometry optimisation: 0 kByte
|
||||
Total CPU time elapsed for geometry optimisation: 0 seconds
|
||||
### Run 0 start.
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 9876, 54321
|
||||
----------------------------------------
|
||||
Start Run processing.
|
||||
|
||||
---> Begin of Event: 0
|
||||
|
||||
---> Begin of Event: 10000
|
||||
|
||||
---> Begin of Event: 20000
|
||||
|
||||
---> Begin of Event: 30000
|
||||
|
||||
---> Begin of Event: 40000
|
||||
|
||||
---> Begin of Event: 50000
|
||||
|
||||
---> Begin of Event: 60000
|
||||
|
||||
---> Begin of Event: 70000
|
||||
|
||||
---> Begin of Event: 80000
|
||||
|
||||
---> Begin of Event: 90000
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 100000
|
||||
User=46s Real=9.5e+02s Sys=63s
|
||||
|
||||
The run consists of 100000 gamma of 100.00 keV through 100.00 m of Water (density: 1.00 g/cm3 )
|
||||
|
||||
Frequency of process calls ---> compt : 98355 phot : 1645
|
||||
|
||||
MeanFreePath: 6.08436 cm +- 6.07180 cm massic: 6.08436 g/cm2
|
||||
AttenuationCoef: 0.16436 cm^-1 massic: 0.16436 cm2/g
|
||||
|
||||
Mass AttenuationCoef for compt from G4EmCalculator: 0.16230 cm2/g
|
||||
Mass AttenuationCoef for phot from G4EmCalculator: 0.00269 cm2/g
|
||||
|
||||
Sum of mass AttenuationCoef from G4EmCalculator: 0.16498 cm2/g
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 1388766644, 882092427
|
||||
----------------------------------------
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
UserDetectorConstruction deleted.
|
||||
UserPhysicsList deleted.
|
||||
UserRunAction deleted.
|
||||
UserPrimaryGenerator deleted.
|
||||
G4 kernel has come to Quit state.
|
||||
EventManager deleted.
|
||||
UImanager deleted.
|
||||
StateManager deleted.
|
||||
RunManagerKernel is deleted.
|
||||
RunManager is deleting.
|
||||
@@ -1,2 +0,0 @@
|
||||
|
||||
COMMON/PROCESS/nbCall(12),sumTrak,sumTrak2
|
||||
@@ -1,62 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: PhysicsList.hh,v 1.2 2004/09/29 10:37:53 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysicsList_h
|
||||
#define PhysicsList_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VPhysicsConstructor;
|
||||
class PhysicsListMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysicsList: public G4VModularPhysicsList
|
||||
{
|
||||
public:
|
||||
PhysicsList();
|
||||
~PhysicsList();
|
||||
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
void AddPhysicsList(const G4String& name);
|
||||
|
||||
void SetCuts();
|
||||
|
||||
private:
|
||||
G4String emName;
|
||||
G4VPhysicsConstructor* emPhysicsList;
|
||||
|
||||
PhysicsListMessenger* messenger;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: PhysicsList.cc,v 1.4 2005/05/09 16:10:42 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "PhysicsList.hh"
|
||||
#include "PhysicsListMessenger.hh"
|
||||
|
||||
#include "PhysListEmStandard.hh"
|
||||
#include "PhysListEmG4v52.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsList::PhysicsList()
|
||||
: G4VModularPhysicsList()
|
||||
{
|
||||
defaultCutValue = 1.0*mm;
|
||||
messenger = new PhysicsListMessenger(this);
|
||||
|
||||
// EM physics
|
||||
emName = G4String("standard");
|
||||
emPhysicsList = new PhysListEmStandard(emName);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsList::~PhysicsList()
|
||||
{
|
||||
delete messenger;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4Geantino.hh"
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Positron.hh"
|
||||
#include "G4MuonMinus.hh"
|
||||
#include "G4MuonPlus.hh"
|
||||
|
||||
void PhysicsList::ConstructParticle()
|
||||
{
|
||||
G4Geantino::GeantinoDefinition();
|
||||
G4Gamma::GammaDefinition();
|
||||
|
||||
G4Electron::ElectronDefinition();
|
||||
G4Positron::PositronDefinition();
|
||||
|
||||
G4MuonMinus::MuonMinusDefinition();
|
||||
G4MuonPlus::MuonPlusDefinition();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::ConstructProcess()
|
||||
{
|
||||
AddTransportation();
|
||||
emPhysicsList->ConstructProcess();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::AddPhysicsList(const G4String& name)
|
||||
{
|
||||
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
|
||||
|
||||
if (name == emName) return;
|
||||
|
||||
if (name == "standard") {
|
||||
emName = name;
|
||||
delete emPhysicsList;
|
||||
emPhysicsList = new PhysListEmStandard(name);
|
||||
|
||||
} else if (name == "g4v52") {
|
||||
emName = name;
|
||||
delete emPhysicsList;
|
||||
emPhysicsList = new PhysListEmG4v52(name);
|
||||
|
||||
} else {
|
||||
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
|
||||
<< " is not defined"
|
||||
<< G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCuts()
|
||||
{
|
||||
// set cut values for gamma at first and for e- second and next for e+,
|
||||
// because some processes for e+/e- need cut values for gamma
|
||||
SetCutValue(defaultCutValue, "gamma");
|
||||
SetCutValue(defaultCutValue, "e-");
|
||||
SetCutValue(defaultCutValue, "e+");
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: PhysicsListMessenger.cc,v 1.2 2004/09/29 10:38:04 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "PhysicsListMessenger.hh"
|
||||
#include "PhysicsList.hh"
|
||||
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys)
|
||||
:physicsList(pPhys)
|
||||
{
|
||||
physDir = new G4UIdirectory("/testem/phys/");
|
||||
physDir ->SetGuidance("physics list");
|
||||
|
||||
pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this);
|
||||
pListCmd->SetGuidance("Add modular physics list");
|
||||
pListCmd->SetParameterName("PList",false);
|
||||
pListCmd->AvailableForStates(G4State_PreInit);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsListMessenger::~PhysicsListMessenger()
|
||||
{
|
||||
delete pListCmd;
|
||||
delete physDir;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
|
||||
{
|
||||
if (command == pListCmd)
|
||||
{physicsList->AddPhysicsList(newValue);}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -1,96 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: SteppingAction.cc,v 1.6 2005/05/10 15:24:27 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "SteppingAction.hh"
|
||||
#include "RunAction.hh"
|
||||
#include "HistoManager.hh"
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
SteppingAction::SteppingAction(RunAction* RuAct, HistoManager* Hist)
|
||||
:runAction(RuAct), histoManager(Hist)
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
SteppingAction::~SteppingAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void SteppingAction::UserSteppingAction(const G4Step* aStep)
|
||||
{
|
||||
G4StepPoint* endPoint = aStep->GetPostStepPoint();
|
||||
G4String procName = endPoint->GetProcessDefinedStep()->GetProcessName();
|
||||
G4double stepLength = aStep->GetStepLength();
|
||||
|
||||
//count processes and sum track length
|
||||
//
|
||||
runAction->CountProcesses(procName);
|
||||
if (procName != "Transportation") runAction->SumTrack(stepLength);
|
||||
|
||||
//plot final state
|
||||
//
|
||||
//scattered primary particle
|
||||
//
|
||||
G4int id = 1;
|
||||
if (aStep->GetTrack()->GetTrackStatus() == fAlive) {
|
||||
G4double energy = endPoint->GetKineticEnergy();
|
||||
histoManager->FillHisto(id,energy);
|
||||
|
||||
id = 2;
|
||||
G4ThreeVector direction = endPoint->GetMomentumDirection();
|
||||
G4double costeta = direction.x();
|
||||
histoManager->FillHisto(id,costeta);
|
||||
}
|
||||
|
||||
//secondaries
|
||||
//
|
||||
G4TrackVector* secondary = fpSteppingManager->GetSecondary();
|
||||
for (size_t lp=0; lp<(*secondary).size(); lp++) {
|
||||
G4double charge = (*secondary)[lp]->GetDefinition()->GetPDGCharge();
|
||||
if (charge != 0.) id = 3; else id = 5;
|
||||
G4double energy = (*secondary)[lp]->GetKineticEnergy();
|
||||
histoManager->FillHisto(id,energy);
|
||||
|
||||
id++;
|
||||
G4ThreeVector direction = (*secondary)[lp]->GetMomentumDirection();
|
||||
G4double costeta = direction.x();
|
||||
histoManager->FillHisto(id,costeta);
|
||||
}
|
||||
|
||||
// kill event after first interaction
|
||||
//
|
||||
G4RunManager::GetRunManager()->AbortEvent();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -0,0 +1,322 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: DirectAccess.cc,v 1.2 2006/06/29 16:35:25 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
//
|
||||
// To print cross sections per atom and mean free path for simple material
|
||||
//
|
||||
#include "G4Material.hh"
|
||||
|
||||
#include "G4PEEffectModel.hh"
|
||||
#include "G4KleinNishinaCompton.hh"
|
||||
#include "G4BetheHeitlerModel.hh"
|
||||
|
||||
#include "G4eeToTwoGammaModel.hh"
|
||||
|
||||
#include "G4MollerBhabhaModel.hh"
|
||||
#include "G4eBremsstrahlungModel.hh"
|
||||
|
||||
#include "G4BetheBlochModel.hh"
|
||||
#include "G4BraggModel.hh"
|
||||
|
||||
#include "G4MuBetheBlochModel.hh"
|
||||
#include "G4MuBremsstrahlungModel.hh"
|
||||
#include "G4MuPairProductionModel.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Positron.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "G4MuonPlus.hh"
|
||||
|
||||
int main() {
|
||||
|
||||
G4UnitDefinition::BuildUnitsTable();
|
||||
|
||||
// define materials
|
||||
//
|
||||
G4double Z, A;
|
||||
|
||||
G4Material* material =
|
||||
new G4Material("Iodine", Z=53., A=126.90*g/mole, 4.93*g/cm3);
|
||||
|
||||
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// initialise gamma processes (models)
|
||||
//
|
||||
G4ParticleDefinition* gamma = G4Gamma::Gamma();
|
||||
|
||||
G4VEmModel* phot = new G4PEEffectModel();
|
||||
G4VEmModel* comp = new G4KleinNishinaCompton();
|
||||
G4VEmModel* conv = new G4BetheHeitlerModel();
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
G4double Emin = 1.01*MeV, Emax = 2.01*MeV, dE = 100*keV;
|
||||
|
||||
G4cout << "\n #### Gamma : CrossSectionPerAtom and MeanFreePath for "
|
||||
<< material->GetName() << G4endl;
|
||||
G4cout << "\n Energy \t PhotoElec \t Compton \t Conversion \t";
|
||||
G4cout << "\t PhotoElec \t Compton \t Conversion" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (phot->ComputeCrossSectionPerAtom(gamma,Energy,Z), "Surface")
|
||||
<< "\t"
|
||||
<< G4BestUnit (comp->ComputeCrossSectionPerAtom(gamma,Energy,Z), "Surface")
|
||||
<< "\t"
|
||||
<< G4BestUnit (conv->ComputeCrossSectionPerAtom(gamma,Energy,Z), "Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (phot->ComputeMeanFreePath(gamma,Energy,material), "Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (comp->ComputeMeanFreePath(gamma,Energy,material), "Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (conv->ComputeMeanFreePath(gamma,Energy,material), "Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// initialise positron annihilation (model)
|
||||
//
|
||||
G4ParticleDefinition* posit = G4Positron::Positron();
|
||||
|
||||
G4VEmModel* anni = new G4eeToTwoGammaModel();
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
Emin = 1.01*MeV; Emax = 2.01*MeV; dE = 100*keV;
|
||||
|
||||
G4cout << "\n #### e+ annihilation : CrossSectionPerAtom and MeanFreePath for "
|
||||
<< material->GetName() << G4endl;
|
||||
G4cout << "\n Energy \t e+ annihil \t";
|
||||
G4cout << "\t e+ annihil" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (anni->ComputeCrossSectionPerAtom(posit,Energy,Z), "Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (anni->ComputeMeanFreePath(posit,Energy,material), "Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// initialise electron processes (models)
|
||||
//
|
||||
G4ParticleDefinition* elec = G4Electron::Electron();
|
||||
|
||||
G4VEmModel* ioni = new G4MollerBhabhaModel();
|
||||
G4VEmModel* brem = new G4eBremsstrahlungModel();
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
Emin = 1.01*MeV; Emax = 101.01*MeV; dE = 10*MeV;
|
||||
G4double Ecut = 100*keV;
|
||||
|
||||
G4cout << "\n ####electron: CrossSection, MeanFreePath and StoppingPower for "
|
||||
<< material->GetName()
|
||||
<< ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl;
|
||||
|
||||
G4cout << "\n Energy \t ionization \t bremsstra \t";
|
||||
G4cout << "\t ionization \t bremsstra \t";
|
||||
G4cout << "\t ionization \t bremsstra" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (ioni->ComputeCrossSectionPerAtom(elec,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeCrossSectionPerAtom(elec,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeMeanFreePath(elec,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeMeanFreePath(elec,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeDEDXPerVolume(material,elec,Energy,Ecut),
|
||||
"Energy/Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeDEDXPerVolume(material,elec,Energy,Ecut),
|
||||
"Energy/Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
// initialise proton processes (models)
|
||||
//
|
||||
G4ParticleDefinition* prot = G4Proton::Proton();
|
||||
|
||||
ioni = new G4BetheBlochModel(prot);
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
Emin = 1.01*MeV; Emax = 102.01*MeV; dE = 10*MeV;
|
||||
Ecut = 100*keV;
|
||||
|
||||
G4cout << "\n #### proton : CrossSection, MeanFreePath and StoppingPower for "
|
||||
<< material->GetName()
|
||||
<< ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl;
|
||||
|
||||
G4cout << "\n Energy \t ionization \t";
|
||||
G4cout << "\t ionization \t";
|
||||
G4cout << "\t ionization" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (ioni->ComputeCrossSectionPerAtom(prot,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeMeanFreePath(prot,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeDEDXPerVolume(material,prot,Energy,Ecut),
|
||||
"Energy/Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
// low energy : Bragg Model
|
||||
|
||||
ioni = new G4BraggModel(prot);
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
Emin = 1.1*keV; Emax = 2.01*MeV; dE = 300*keV;
|
||||
Ecut = 10*keV;
|
||||
|
||||
G4cout << "\n #### proton : low energy model (Bragg) "
|
||||
<< ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl;
|
||||
|
||||
G4cout << "\n Energy \t ionization \t";
|
||||
G4cout << "\t ionization \t";
|
||||
G4cout << "\t ionization" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (ioni->ComputeCrossSectionPerAtom(prot,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeMeanFreePath(prot,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeDEDXPerVolume(material,prot,Energy,Ecut),
|
||||
"Energy/Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// initialise muon processes (models)
|
||||
//
|
||||
G4ParticleDefinition* muon = G4MuonPlus::MuonPlus();
|
||||
|
||||
ioni = new G4MuBetheBlochModel(muon);
|
||||
brem = new G4MuBremsstrahlungModel(muon);
|
||||
G4VEmModel* pair = new G4MuPairProductionModel(muon);
|
||||
|
||||
// compute CrossSection per atom and MeanFreePath
|
||||
//
|
||||
Emin = 1.01*GeV; Emax = 101.01*GeV; dE = 10*GeV;
|
||||
Ecut = 10*MeV;
|
||||
|
||||
G4cout << "\n ####muon: CrossSection and MeanFreePath for "
|
||||
<< material->GetName()
|
||||
<< ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl;
|
||||
|
||||
G4cout << "\n Energy \t ionization \t bremsstra \t pair_prod \t";
|
||||
G4cout << "\t ionization \t bremsstra \t pair_prod" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (ioni->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t"
|
||||
<< G4BestUnit (pair->ComputeCrossSectionPerAtom(muon,Energy,Z,A,Ecut),
|
||||
"Surface")
|
||||
<< "\t \t"
|
||||
<< G4BestUnit (ioni->ComputeMeanFreePath(muon,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeMeanFreePath(muon,Energy,material,Ecut),
|
||||
"Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (pair->ComputeMeanFreePath(muon,Energy,material,Ecut),
|
||||
"Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
G4cout << "\n ####muon: StoppingPower for "
|
||||
<< material->GetName()
|
||||
<< ";\tEnergy cut = " << G4BestUnit (Ecut, "Energy") << G4endl;
|
||||
|
||||
G4cout << "\n Energy \t ionization \t bremsstra \t pair_prod \t" << G4endl;
|
||||
|
||||
for (G4double Energy = Emin; Energy <= Emax; Energy += dE) {
|
||||
G4cout << "\n " << G4BestUnit (Energy, "Energy")
|
||||
<< "\t"
|
||||
<< G4BestUnit (ioni->ComputeDEDXPerVolume(material,muon,Energy,Ecut),
|
||||
"Energy/Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (brem->ComputeDEDXPerVolume(material,muon,Energy,Ecut),
|
||||
"Energy/Length")
|
||||
<< "\t"
|
||||
<< G4BestUnit (pair->ComputeDEDXPerVolume(material,muon,Energy,Ecut),
|
||||
"Energy/Length");
|
||||
}
|
||||
|
||||
G4cout << G4endl;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# $Id: GNUmakefile,v 1.1 2006/03/18 11:02:14 maire Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
|
||||
### name := DirectAccess
|
||||
name := TestEm0
|
||||
G4TARGET := $(name)
|
||||
|
||||
G4EXLIB := true
|
||||
|
||||
ifndef G4INSTALL
|
||||
G4INSTALL = ../../../..
|
||||
endif
|
||||
|
||||
.PHONY: all
|
||||
all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
@@ -0,0 +1,31 @@
|
||||
$Id: History,v 1.7 2006/06/19 10:32:27 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
TestEm1 History file
|
||||
--------------------
|
||||
This file should be used by the G4 example coordinator to briefly
|
||||
summarize all major modifications introduced in the code and keep
|
||||
track of all tags.
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
17-06-06 mma (testem0-V08-00-04)
|
||||
- compute e- critical energy and Moliere radius
|
||||
|
||||
19-05-06 mma (testem0-V08-00-03)
|
||||
- modify binning for CSDA range table
|
||||
|
||||
18-04-06 V.Ivant (testem0-V08-00-02)
|
||||
- fix compilation warning, improve cout
|
||||
|
||||
05-04-06 mma (testem0-V08-00-01)
|
||||
- add transport mean free path (for multiple scattering)
|
||||
|
||||
21-03-06 mma (testem0-V08-00-00)
|
||||
- creation
|
||||
@@ -0,0 +1,42 @@
|
||||
$Id: README,v 1.2 2006/03/20 11:54:02 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
TestEm0
|
||||
-------
|
||||
|
||||
This program is not a simulation. It prints the cross sections and stopping
|
||||
power used by the standard electromagnetic package, via G4EmCalculator
|
||||
which extracts these data from the PhysicsTables.
|
||||
|
||||
The program can be used in batch or interactively.
|
||||
|
||||
- compile and link to generate an executable
|
||||
% cd geant4/examples/extended/electromagnetic/TestEm0
|
||||
% gmake
|
||||
|
||||
- execute TestEm0 in 'batch' mode from macro files :
|
||||
% TestEm0 TestEm1.in
|
||||
|
||||
- Interactively, a typical sequence will be :
|
||||
% TestEm0
|
||||
....
|
||||
Idle> /testem/det/setMat Silicon
|
||||
Idle> /testem/phys/setCuts 100 um
|
||||
Idle> /gun/particle e-
|
||||
Idle> /gun/energy 10 MeV
|
||||
Idle> /run/beamOn
|
||||
|
||||
The last command triggers BuildPhysicsTable() and executes the program.
|
||||
|
||||
|
||||
DirectAccess
|
||||
------------
|
||||
|
||||
DirectAccess is a small batch program which shows how to compute the same
|
||||
basic data directly from the processes (indeed the models).
|
||||
|
||||
To run it, change name in the first line on GNUmakefile before to compile.
|
||||
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: TestEm0.cc,v 1.2 2006/06/29 16:35:27 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4UIterminal.hh"
|
||||
#include "G4UItcsh.hh"
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "PhysicsList.hh"
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
#include "RunAction.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
int main(int argc,char** argv) {
|
||||
|
||||
// Construct the default run manager
|
||||
G4RunManager * runManager = new G4RunManager;
|
||||
|
||||
// set mandatory initialization classes
|
||||
DetectorConstruction* det;
|
||||
PrimaryGeneratorAction* prim;
|
||||
runManager->SetUserInitialization(det = new DetectorConstruction);
|
||||
runManager->SetUserInitialization(new PhysicsList);
|
||||
runManager->SetUserAction(prim = new PrimaryGeneratorAction(det));
|
||||
|
||||
// set user action classes
|
||||
runManager->SetUserAction(new RunAction(det,prim));
|
||||
|
||||
//Initialize G4 kernel
|
||||
runManager->Initialize();
|
||||
|
||||
if (argc==1) // Define UI terminal for interactive mode
|
||||
{
|
||||
G4UIsession * session = 0;
|
||||
#ifdef G4UI_USE_TCSH
|
||||
session = new G4UIterminal(new G4UItcsh);
|
||||
#else
|
||||
session = new G4UIterminal();
|
||||
#endif
|
||||
session->SessionStart();
|
||||
delete session;
|
||||
}
|
||||
else // Batch mode
|
||||
{
|
||||
G4String command = "/control/execute ";
|
||||
G4String fileName = argv[1];
|
||||
G4UImanager::GetUIpointer()->ApplyCommand(command+fileName);
|
||||
}
|
||||
|
||||
// job termination
|
||||
//
|
||||
delete runManager;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -0,0 +1,18 @@
|
||||
# $Id: TestEm0.in,v 1.1 2006/03/18 11:02:14 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm0.cc"
|
||||
#
|
||||
/control/verbose 0
|
||||
/run/verbose 0
|
||||
#
|
||||
/testem/det/setMat Germanium
|
||||
/testem/phys/setCuts 1 mm
|
||||
/gun/particle gamma
|
||||
/gun/energy 300 keV
|
||||
/run/beamOn
|
||||
#
|
||||
/testem/det/setMat Water
|
||||
/testem/phys/setCuts 100 um
|
||||
/gun/particle e-
|
||||
/gun/energy 10 MeV
|
||||
/run/beamOn
|
||||
@@ -0,0 +1,112 @@
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: global-V08-00-04 (30-June-2006)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
*************************************************************
|
||||
|
||||
|
||||
***** Table : Nb of materials = 14 *****
|
||||
|
||||
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
|
||||
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
|
||||
|
||||
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 ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Water 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 ElmMassFraction: 11.21 % ElmAbundance 66.67 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 %
|
||||
|
||||
Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 %
|
||||
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 %
|
||||
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 %
|
||||
|
||||
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
|
||||
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Silicon density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm
|
||||
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
|
||||
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm
|
||||
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Copper density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm
|
||||
---> Element: Copper ( ) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Germanium density: 5.323 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 2.301 cm
|
||||
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Silver density: 10.500 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.543 mm
|
||||
---> Element: Silver ( ) Z = 47.0 N = 107.9 A = 107.87 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm
|
||||
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
|
||||
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm
|
||||
---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
|
||||
Index : 0 used in the geometry : Yes recalculation needed : No
|
||||
Material : Germanium
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
Energy thresholds : gamma 20.6936 keV e- 863.242 keV e+ 821.764 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
====================================================================
|
||||
|
||||
|
||||
gamma (300 keV) in Germanium (density: 5.323 g/cm3 ; radiation length: 2.30121 cm )
|
||||
|
||||
processes : phot compt conv total
|
||||
|
||||
cross section per atom : 1.71686 barn 11.0976 barn 0 pbarn 12.8145 barn
|
||||
|
||||
|
||||
cross section per volume : 0.075796 cm^-1 0.490629 cm^-1 0 cm^-1 0.566426 cm^-1
|
||||
cross section per mass : 0.0142393 cm2/g 0.0921716 cm2/g 0 cm2/g 0.106411 cm2/g
|
||||
|
||||
mean free path : 13.1933 cm 2.0382 cm 5.82593e+288 pc 1.76546 cm
|
||||
(g/cm2) : 70.228 g/cm2 10.8493 g/cm2 2.88022e+285 kg/cm2 9.39753 g/cm2
|
||||
|
||||
-------------------------------------------------------------
|
||||
|
||||
e- (10 MeV) in Water (density: 1 g/cm3 ; radiation length: 36.0925 cm )
|
||||
|
||||
Range cuts : gamma 100 um e- 100 um
|
||||
Energy cuts : gamma 1.09571 keV e- 84.2696 keV
|
||||
|
||||
processes : eIoni eBrem total
|
||||
|
||||
cross section per volume : 1.00476 cm^-1 0.349696 cm^-1 1.35446 cm^-1
|
||||
cross section per mass : 1.00476 cm2/g 0.349696 cm2/g 1.35446 cm2/g
|
||||
|
||||
mean free path : 9.95258 mm 2.85962 cm 7.38301 mm
|
||||
(g/cm2) : 995.258 mg/cm2 2.85962 g/cm2 738.301 mg/cm2
|
||||
|
||||
|
||||
restricted dE/dx : 1.61451 MeV/cm 21.1997 eV/cm 1.61454 MeV/cm
|
||||
(MeV/g/cm2) : 1.61451 MeV*cm2/g 21.1997 eV*cm2/g 1.61454 MeV*cm2/g
|
||||
|
||||
range from restrict dE/dx: 6.06069 cm ( 6.06069 g/cm2 )
|
||||
range from full dE/dx : 4.90255 cm ( 4.90255 g/cm2 )
|
||||
|
||||
transport mean free path : 27.9107 cm ( 27.9107 g/cm2 )
|
||||
|
||||
critical energy (Rossi) : 78.7733 MeV
|
||||
Moliere radius : 0.269193 X0 = 9.71583 cm
|
||||
-------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:35:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef DetectorConstruction_h
|
||||
#define DetectorConstruction_h 1
|
||||
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class DetectorMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
DetectorConstruction();
|
||||
~DetectorConstruction();
|
||||
|
||||
public:
|
||||
|
||||
G4VPhysicalVolume* Construct();
|
||||
|
||||
void SetMaterial (G4String);
|
||||
|
||||
public:
|
||||
|
||||
const
|
||||
G4VPhysicalVolume* GetWorld() {return pBox;};
|
||||
|
||||
G4double GetSize() {return BoxSize;};
|
||||
G4Material* GetMaterial() {return aMaterial;};
|
||||
|
||||
void PrintParameters();
|
||||
|
||||
private:
|
||||
|
||||
G4VPhysicalVolume* pBox;
|
||||
|
||||
G4double BoxSize;
|
||||
G4Material* aMaterial;
|
||||
|
||||
DetectorMessenger* detectorMessenger;
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
G4VPhysicalVolume* ConstructVolumes();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:35:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef DetectorMessenger_h
|
||||
#define DetectorMessenger_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class DetectorConstruction;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class DetectorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
DetectorMessenger(DetectorConstruction* );
|
||||
~DetectorMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
DetectorConstruction* Detector;
|
||||
|
||||
G4UIdirectory* testemDir;
|
||||
G4UIdirectory* detDir;
|
||||
G4UIcmdWithAString* MaterCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:35:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysListEmStandard_h
|
||||
#define PhysListEmStandard_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysListEmStandard : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
PhysListEmStandard(const G4String& name = "standard");
|
||||
~PhysListEmStandard();
|
||||
|
||||
public:
|
||||
// This method is dummy for physics
|
||||
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
|
||||
void ConstructProcess();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysicsList.hh,v 1.2 2006/06/29 16:35:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
// 14.10.02 (V.Ivanchenko) provide modular list on base of old PhysicsList
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysicsList_h
|
||||
#define PhysicsList_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class PhysicsListMessenger;
|
||||
class G4VPhysicsConstructor;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysicsList: public G4VModularPhysicsList
|
||||
{
|
||||
public:
|
||||
PhysicsList();
|
||||
~PhysicsList();
|
||||
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
void AddPhysicsList(const G4String& name);
|
||||
|
||||
void SetCuts();
|
||||
void SetCutForGamma(G4double);
|
||||
void SetCutForElectron(G4double);
|
||||
void SetCutForPositron(G4double);
|
||||
|
||||
private:
|
||||
G4double cutForGamma;
|
||||
G4double cutForElectron;
|
||||
G4double cutForPositron;
|
||||
G4double currentDefaultCut;
|
||||
|
||||
G4VPhysicsConstructor* emPhysicsList;
|
||||
G4String emName;
|
||||
|
||||
PhysicsListMessenger* pMessenger;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
+25
-17
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PhysicsListMessenger.hh,v 1.2 2004/09/29 10:37:53 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
// $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:35:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -34,6 +37,7 @@
|
||||
|
||||
class PhysicsList;
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
class G4UIcmdWithAString;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -49,10 +53,14 @@ class PhysicsListMessenger: public G4UImessenger
|
||||
|
||||
private:
|
||||
|
||||
PhysicsList* physicsList;
|
||||
PhysicsList* pPhysicsList;
|
||||
|
||||
G4UIdirectory* physDir;
|
||||
G4UIcmdWithAString* pListCmd;
|
||||
G4UIdirectory* physDir;
|
||||
G4UIcmdWithADoubleAndUnit* gammaCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* electCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* protoCutCmd;
|
||||
G4UIcmdWithADoubleAndUnit* allCutCmd;
|
||||
G4UIcmdWithAString* pListCmd;
|
||||
|
||||
};
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:35:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PrimaryGeneratorAction_h
|
||||
#define PrimaryGeneratorAction_h 1
|
||||
|
||||
#include "G4VUserPrimaryGeneratorAction.hh"
|
||||
#include "G4ParticleGun.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Event;
|
||||
class DetectorConstruction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
PrimaryGeneratorAction(DetectorConstruction*);
|
||||
~PrimaryGeneratorAction();
|
||||
|
||||
public:
|
||||
void SetDefaultKinematic();
|
||||
void GeneratePrimaries(G4Event*);
|
||||
|
||||
G4ParticleGun* GetParticleGun() {return particleGun;}
|
||||
|
||||
private:
|
||||
G4ParticleGun* particleGun;
|
||||
DetectorConstruction* Detector;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RunAction.hh,v 1.3 2006/06/29 16:35:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef RunAction_h
|
||||
#define RunAction_h 1
|
||||
|
||||
#include "G4UserRunAction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4Run;
|
||||
class DetectorConstruction;
|
||||
class PrimaryGeneratorAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
RunAction(DetectorConstruction*, PrimaryGeneratorAction*);
|
||||
~RunAction();
|
||||
|
||||
public:
|
||||
void BeginOfRunAction(const G4Run*);
|
||||
void EndOfRunAction(const G4Run*);
|
||||
|
||||
void GetCuts();
|
||||
void CriticalEnergy();
|
||||
|
||||
private:
|
||||
DetectorConstruction* detector;
|
||||
PrimaryGeneratorAction* primary;
|
||||
G4double rangeCut[3];
|
||||
G4double energyCut[3];
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
//
|
||||
// $Id: DetectorConstruction.cc,v 1.5 2006/06/29 16:35:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "DetectorMessenger.hh"
|
||||
|
||||
#include "G4Material.hh"
|
||||
#include "G4Box.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4PVPlacement.hh"
|
||||
|
||||
#include "G4GeometryManager.hh"
|
||||
#include "G4PhysicalVolumeStore.hh"
|
||||
#include "G4LogicalVolumeStore.hh"
|
||||
#include "G4SolidStore.hh"
|
||||
|
||||
#include "G4UnitsTable.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
DetectorConstruction::DetectorConstruction()
|
||||
:pBox(0), aMaterial(0)
|
||||
{
|
||||
BoxSize = 1*mm;
|
||||
DefineMaterials();
|
||||
SetMaterial("Germanium");
|
||||
detectorMessenger = new DetectorMessenger(this);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
DetectorConstruction::~DetectorConstruction()
|
||||
{ delete detectorMessenger;}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4VPhysicalVolume* DetectorConstruction::Construct()
|
||||
{
|
||||
return ConstructVolumes();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void DetectorConstruction::DefineMaterials()
|
||||
{
|
||||
//
|
||||
// define Elements
|
||||
//
|
||||
G4double z,a;
|
||||
|
||||
G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.01*g/mole);
|
||||
G4Element* N = new G4Element("Nitrogen" ,"N" , z= 7., a= 14.01*g/mole);
|
||||
G4Element* O = new G4Element("Oxygen" ,"O" , z= 8., a= 16.00*g/mole);
|
||||
G4Element* Ge = new G4Element("Germanium","Ge", z=32., a= 72.59*g/mole);
|
||||
G4Element* Bi = new G4Element("Bismuth" ,"Bi", z=83., a= 208.98*g/mole);
|
||||
|
||||
//
|
||||
// define materials
|
||||
//
|
||||
G4double density;
|
||||
G4int ncomponents, natoms;
|
||||
G4double fractionmass;
|
||||
|
||||
G4Material* Air =
|
||||
new G4Material("Air", density= 1.290*mg/cm3, ncomponents=2);
|
||||
Air->AddElement(N, fractionmass=70.*perCent);
|
||||
Air->AddElement(O, fractionmass=30.*perCent);
|
||||
|
||||
G4Material* H2l =
|
||||
new G4Material("H2liquid", density= 70.8*mg/cm3, ncomponents=1);
|
||||
H2l->AddElement(H, fractionmass=1.);
|
||||
|
||||
G4Material* H2O =
|
||||
new G4Material("Water", density= 1.000*g/cm3, ncomponents=2);
|
||||
H2O->AddElement(H, natoms=2);
|
||||
H2O->AddElement(O, natoms=1);
|
||||
///H2O->SetChemicalFormula("H_2O");
|
||||
H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
|
||||
|
||||
G4Material* BGO =
|
||||
new G4Material("BGO", density= 7.10*g/cm3, ncomponents=3);
|
||||
BGO->AddElement(O , natoms=12);
|
||||
BGO->AddElement(Ge, natoms= 3);
|
||||
BGO->AddElement(Bi, natoms= 4);
|
||||
|
||||
new G4Material("Aluminium" , z=13., a= 26.98*g/mole, density= 2.700*g/cm3);
|
||||
new G4Material("Silicon" , z=14., a= 28.09*g/mole, density= 2.330*g/cm3);
|
||||
new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3);
|
||||
new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3);
|
||||
new G4Material("Copper" , z=29., a= 63.55*g/mole, density= 8.960*g/cm3);
|
||||
new G4Material("Germanium" , z=32., a= 72.61*g/mole, density= 5.323*g/cm3);
|
||||
new G4Material("Silver" , z=47., a=107.87*g/mole, density= 10.50*g/cm3);
|
||||
new G4Material("Tungsten" , z=74., a=183.85*g/mole, density= 19.30*g/cm3);
|
||||
new G4Material("Lead" , z=82., a=207.19*g/mole, density= 11.35*g/cm3);
|
||||
new G4Material("Uranium" , z=92., a=238.03*g/mole, density= 18.95*g/cm3);
|
||||
|
||||
|
||||
G4cout << *(G4Material::GetMaterialTable()) << G4endl;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4VPhysicalVolume* DetectorConstruction::ConstructVolumes()
|
||||
{
|
||||
// Cleanup old geometry
|
||||
G4GeometryManager::GetInstance()->OpenGeometry();
|
||||
G4PhysicalVolumeStore::GetInstance()->Clean();
|
||||
G4LogicalVolumeStore::GetInstance()->Clean();
|
||||
G4SolidStore::GetInstance()->Clean();
|
||||
|
||||
G4Box*
|
||||
sBox = new G4Box("Container", //its name
|
||||
BoxSize/2,BoxSize/2,BoxSize/2); //its dimensions
|
||||
|
||||
G4LogicalVolume*
|
||||
lBox = new G4LogicalVolume(sBox, //its shape
|
||||
aMaterial, //its material
|
||||
aMaterial->GetName()); //its name
|
||||
|
||||
pBox = new G4PVPlacement(0, //no rotation
|
||||
G4ThreeVector(), //at (0,0,0)
|
||||
lBox, //its logical volume
|
||||
aMaterial->GetName(), //its name
|
||||
0, //its mother volume
|
||||
false, //no boolean operation
|
||||
0); //copy number
|
||||
|
||||
//always return the root volume
|
||||
//
|
||||
return pBox;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void DetectorConstruction::PrintParameters()
|
||||
{
|
||||
G4cout << "\n The Box is " << G4BestUnit(BoxSize,"Length")
|
||||
<< " of " << aMaterial->GetName() << G4endl;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4RunManager.hh"
|
||||
|
||||
void DetectorConstruction::SetMaterial(G4String materialChoice)
|
||||
{
|
||||
// search the material by its name
|
||||
G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
|
||||
if (pttoMaterial) {
|
||||
aMaterial = pttoMaterial;
|
||||
if (pBox) G4RunManager::GetRunManager()
|
||||
->DefineWorldVolume(ConstructVolumes());
|
||||
} else {
|
||||
G4cout << "\n--> warning from DetectorConstruction::SetMaterial : "
|
||||
<< materialChoice << " not found" << G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:35:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "DetectorMessenger.hh"
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
DetectorMessenger::DetectorMessenger(DetectorConstruction * Det)
|
||||
:Detector(Det)
|
||||
{
|
||||
testemDir = new G4UIdirectory("/testem/");
|
||||
testemDir->SetGuidance("commands specific to this example");
|
||||
|
||||
detDir = new G4UIdirectory("/testem/det/");
|
||||
detDir->SetGuidance("detector construction commands");
|
||||
|
||||
MaterCmd = new G4UIcmdWithAString("/testem/det/setMat",this);
|
||||
MaterCmd->SetGuidance("Select material of the box.");
|
||||
MaterCmd->SetParameterName("choice",false);
|
||||
MaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
DetectorMessenger::~DetectorMessenger()
|
||||
{
|
||||
delete MaterCmd;
|
||||
delete detDir;
|
||||
delete testemDir;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
|
||||
{
|
||||
if( command == MaterCmd )
|
||||
{ Detector->SetMaterial(newValue);}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
+44
-16
@@ -1,27 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PhysListEmStandard.cc,v 1.2 2004/09/29 10:38:02 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
// $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:35:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -30,10 +34,9 @@
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
#include "G4PhotoElectricEffect.hh"
|
||||
#include "G4ComptonScattering.hh"
|
||||
#include "G4GammaConversion.hh"
|
||||
#include "G4GammaConversionToMuons.hh"
|
||||
#include "G4PhotoElectricEffect.hh"
|
||||
|
||||
#include "G4MultipleScattering.hh"
|
||||
|
||||
@@ -41,6 +44,13 @@
|
||||
#include "G4eBremsstrahlung.hh"
|
||||
#include "G4eplusAnnihilation.hh"
|
||||
|
||||
#include "G4MuIonisation.hh"
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
|
||||
#include "G4hIonisation.hh"
|
||||
#include "G4ionIonisation.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysListEmStandard::PhysListEmStandard(const G4String& name)
|
||||
@@ -69,7 +79,6 @@ void PhysListEmStandard::ConstructProcess()
|
||||
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
|
||||
pmanager->AddDiscreteProcess(new G4ComptonScattering);
|
||||
pmanager->AddDiscreteProcess(new G4GammaConversion);
|
||||
pmanager->AddDiscreteProcess(new G4GammaConversionToMuons);
|
||||
|
||||
} else if (particleName == "e-") {
|
||||
//electron
|
||||
@@ -83,6 +92,25 @@ void PhysListEmStandard::ConstructProcess()
|
||||
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
|
||||
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,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, 3,3);
|
||||
pmanager->AddProcess(new G4MuPairProduction, -1, 4,4);
|
||||
|
||||
} else if( particleName == "alpha" || particleName == "GenericIon" ) {
|
||||
pmanager->AddProcess(new G4MultipleScattering,-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 G4MultipleScattering,-1,1,1);
|
||||
pmanager->AddProcess(new G4hIonisation, -1,2,2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysicsList.cc,v 1.4 2006/06/29 16:35:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "PhysicsList.hh"
|
||||
#include "PhysicsListMessenger.hh"
|
||||
|
||||
#include "PhysListEmStandard.hh"
|
||||
|
||||
#include "G4LossTableManager.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsList::PhysicsList()
|
||||
: G4VModularPhysicsList()
|
||||
{
|
||||
G4LossTableManager::Instance();
|
||||
|
||||
currentDefaultCut = 1.0*mm;
|
||||
cutForGamma = currentDefaultCut;
|
||||
cutForElectron = currentDefaultCut;
|
||||
cutForPositron = currentDefaultCut;
|
||||
|
||||
pMessenger = new PhysicsListMessenger(this);
|
||||
|
||||
SetVerboseLevel(1);
|
||||
|
||||
// EM physics
|
||||
emName = G4String("standard");
|
||||
emPhysicsList = new PhysListEmStandard(emName);
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsList::~PhysicsList()
|
||||
{
|
||||
delete pMessenger;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
// 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 "G4Deuteron.hh"
|
||||
#include "G4Triton.hh"
|
||||
#include "G4Alpha.hh"
|
||||
#include "G4GenericIon.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::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();
|
||||
G4Alpha::AlphaDefinition();
|
||||
G4GenericIon::GenericIonDefinition();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
void PhysicsList::ConstructProcess()
|
||||
{
|
||||
// Transportation
|
||||
//
|
||||
AddTransportation();
|
||||
|
||||
// Electromagnetic physics list
|
||||
//
|
||||
emPhysicsList->ConstructProcess();
|
||||
|
||||
// Em options
|
||||
//
|
||||
G4EmProcessOptions emOptions;
|
||||
emOptions.SetBuildCSDARange(true);
|
||||
emOptions.SetMaxEnergyForCSDARange(100*TeV);
|
||||
emOptions.SetDEDXBinningForCSDARange(120);
|
||||
emOptions.SetVerbose(0);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::AddPhysicsList(const G4String& name)
|
||||
{
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
|
||||
}
|
||||
|
||||
if (name == emName) return;
|
||||
|
||||
if (name == "standard") {
|
||||
|
||||
emName = name;
|
||||
delete emPhysicsList;
|
||||
emPhysicsList = new PhysListEmStandard(name);
|
||||
|
||||
} else {
|
||||
|
||||
G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
|
||||
<< " is not defined"
|
||||
<< G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Positron.hh"
|
||||
|
||||
void PhysicsList::SetCuts()
|
||||
{
|
||||
// set cut values for gamma at first and for e- second and next for e+,
|
||||
// because some processes for e+/e- need cut values for gamma
|
||||
SetCutValue(cutForGamma, "gamma");
|
||||
SetCutValue(cutForElectron, "e-");
|
||||
SetCutValue(cutForPositron, "e+");
|
||||
DumpCutValuesTable();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForGamma(G4double cut)
|
||||
{
|
||||
cutForGamma = cut;
|
||||
SetParticleCuts(cutForGamma, G4Gamma::Gamma());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForElectron(G4double cut)
|
||||
{
|
||||
cutForElectron = cut;
|
||||
SetParticleCuts(cutForElectron, G4Electron::Electron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsList::SetCutForPositron(G4double cut)
|
||||
{
|
||||
cutForPositron = cut;
|
||||
SetParticleCuts(cutForPositron, G4Positron::Positron());
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -0,0 +1,119 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:35:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "PhysicsListMessenger.hh"
|
||||
|
||||
#include "PhysicsList.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithADoubleAndUnit.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys)
|
||||
:pPhysicsList(pPhys)
|
||||
{
|
||||
physDir = new G4UIdirectory("/testem/phys/");
|
||||
physDir->SetGuidance("physics list commands");
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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......
|
||||
|
||||
PhysicsListMessenger::~PhysicsListMessenger()
|
||||
{
|
||||
delete gammaCutCmd;
|
||||
delete electCutCmd;
|
||||
delete protoCutCmd;
|
||||
delete allCutCmd;
|
||||
delete pListCmd;
|
||||
delete physDir;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PhysicsListMessenger::SetNewValue(G4UIcommand* command,
|
||||
G4String 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 == pListCmd )
|
||||
{ pPhysicsList->AddPhysicsList(newValue);}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:35:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
|
||||
#include "G4Event.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PrimaryGeneratorAction::PrimaryGeneratorAction( DetectorConstruction* DC)
|
||||
:Detector(DC)
|
||||
{
|
||||
particleGun = new G4ParticleGun(1);
|
||||
SetDefaultKinematic();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
PrimaryGeneratorAction::~PrimaryGeneratorAction()
|
||||
{
|
||||
delete particleGun;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PrimaryGeneratorAction::SetDefaultKinematic()
|
||||
{
|
||||
G4ParticleDefinition* particle
|
||||
= G4ParticleTable::GetParticleTable()->FindParticle("e-");
|
||||
particleGun->SetParticleDefinition(particle);
|
||||
particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.));
|
||||
particleGun->SetParticleEnergy(100*MeV);
|
||||
G4double position = -0.5*(Detector->GetSize());
|
||||
particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm));
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
|
||||
{
|
||||
//this function is called at the begining of event
|
||||
//
|
||||
particleGun->GeneratePrimaryVertex(anEvent);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -0,0 +1,349 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RunAction.cc,v 1.5 2006/06/29 16:36:00 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "RunAction.hh"
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "PrimaryGeneratorAction.hh"
|
||||
|
||||
#include "G4Run.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "G4EmCalculator.hh"
|
||||
#include "G4Electron.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
RunAction::RunAction(DetectorConstruction* det, PrimaryGeneratorAction* kin)
|
||||
:detector(det), primary(kin)
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
RunAction::~RunAction()
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void RunAction::BeginOfRunAction(const G4Run*)
|
||||
{
|
||||
//set precision for printing
|
||||
G4int prec = G4cout.precision(6);
|
||||
|
||||
// get particle
|
||||
G4ParticleDefinition* particle = primary->GetParticleGun()
|
||||
->GetParticleDefinition();
|
||||
G4String partName = particle->GetParticleName();
|
||||
G4double charge = particle->GetPDGCharge();
|
||||
G4double energy = primary->GetParticleGun()->GetParticleEnergy();
|
||||
|
||||
// get material
|
||||
G4Material* material = detector->GetMaterial();
|
||||
G4String matName = material->GetName();
|
||||
G4double density = material->GetDensity();
|
||||
G4double radl = material->GetRadlen();
|
||||
|
||||
G4cout << "\n " << partName << " ("
|
||||
<< G4BestUnit(energy,"Energy") << ") in "
|
||||
<< material->GetName() << " (density: "
|
||||
<< G4BestUnit(density,"Volumic Mass") << "; radiation length: "
|
||||
<< G4BestUnit(radl, "Length") << ")" << G4endl;
|
||||
|
||||
// get cuts
|
||||
GetCuts();
|
||||
if (charge != 0.) {
|
||||
G4cout << "\n Range cuts : \t gamma "
|
||||
<< std::setw(8) << G4BestUnit(rangeCut[0],"Length")
|
||||
<< "\t e- " << std::setw(8) << G4BestUnit(rangeCut[1],"Length");
|
||||
G4cout << "\n Energy cuts : \t gamma "
|
||||
<< std::setw(8) << G4BestUnit(energyCut[0],"Energy")
|
||||
<< "\t e- " << std::setw(8) << G4BestUnit(energyCut[1],"Energy")
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
// get processList and extract EM processes (but not MultipleScattering)
|
||||
G4ProcessVector* plist = particle->GetProcessManager()->GetProcessList();
|
||||
G4String procName;
|
||||
G4double cut;
|
||||
std::vector<G4String> emName;
|
||||
std::vector<G4double> enerCut;
|
||||
size_t length = plist->size();
|
||||
for (size_t j=0; j<length; j++) {
|
||||
procName = (*plist)[j]->GetProcessName();
|
||||
cut = energyCut[1];
|
||||
if ((procName == "eBrem")||(procName == "muBrems")) cut = energyCut[0];
|
||||
if (((*plist)[j]->GetProcessType() == fElectromagnetic) &&
|
||||
(procName != "msc")) {
|
||||
emName.push_back(procName);
|
||||
enerCut.push_back(cut);
|
||||
}
|
||||
}
|
||||
|
||||
// print list of processes
|
||||
G4cout << "\n processes : ";
|
||||
for (size_t j=0; j<emName.size();j++)
|
||||
G4cout << "\t" << std::setw(13) << emName[j] << "\t";
|
||||
G4cout << "\t" << std::setw(13) <<"total";
|
||||
|
||||
//instanciate EmCalculator
|
||||
G4EmCalculator emCal;
|
||||
// emCal.SetVerbose(2);
|
||||
|
||||
//compute cross section per atom (only for single material)
|
||||
if (material->GetNumberOfElements() == 1) {
|
||||
G4double Z = material->GetZ();
|
||||
G4double A = material->GetA();
|
||||
|
||||
std::vector<G4double> sigma0;
|
||||
G4double sig, sigtot = 0.;
|
||||
|
||||
for (size_t j=0; j<emName.size();j++) {
|
||||
sig = emCal.ComputeCrossSectionPerAtom
|
||||
(energy,particle,emName[j],Z,A,enerCut[j]);
|
||||
sigtot += sig;
|
||||
sigma0.push_back(sig);
|
||||
}
|
||||
sigma0.push_back(sigtot);
|
||||
|
||||
G4cout << "\n \n cross section per atom : ";
|
||||
for (size_t j=0; j<sigma0.size();j++) {
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit(sigma0[j], "Surface");
|
||||
}
|
||||
G4cout << G4endl;
|
||||
}
|
||||
|
||||
//get cross section per volume
|
||||
std::vector<G4double> sigma1;
|
||||
std::vector<G4double> sigma2;
|
||||
G4double Sig, Sigtot = 0.;
|
||||
|
||||
for (size_t j=0; j<emName.size();j++) {
|
||||
Sig = emCal.GetCrossSectionPerVolume(energy,particle,emName[j],material);
|
||||
if (Sig == 0.) Sig = emCal.ComputeCrossSectionPerVolume
|
||||
(energy,particle,emName[j],material,enerCut[j]);
|
||||
Sigtot += Sig;
|
||||
sigma1.push_back(Sig);
|
||||
sigma2.push_back(Sig/density);
|
||||
}
|
||||
sigma1.push_back(Sigtot);
|
||||
sigma2.push_back(Sigtot/density);
|
||||
|
||||
//print cross sections
|
||||
G4cout << "\n \n cross section per volume : ";
|
||||
for (size_t j=0; j<sigma1.size();j++) {
|
||||
G4cout << "\t" << std::setw(13) << sigma1[j]*cm << " cm^-1";
|
||||
}
|
||||
|
||||
G4cout << "\n cross section per mass : ";
|
||||
for (size_t j=0; j<sigma2.size();j++) {
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit(sigma2[j], "Surface/Mass");
|
||||
}
|
||||
|
||||
//print mean free path
|
||||
|
||||
G4double lambda;
|
||||
|
||||
G4cout << "\n \n mean free path : ";
|
||||
for (size_t j=0; j<sigma1.size();j++) {
|
||||
lambda = DBL_MAX;
|
||||
if (sigma1[j] > 0.) lambda = 1/sigma1[j];
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit( lambda, "Length");
|
||||
}
|
||||
|
||||
//mean free path (g/cm2)
|
||||
G4cout << "\n (g/cm2) : ";
|
||||
for (size_t j=0; j<sigma2.size();j++) {
|
||||
lambda = DBL_MAX;
|
||||
if (sigma2[j] > 0.) lambda = 1/sigma2[j];
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit( lambda, "Mass/Surface");
|
||||
}
|
||||
G4cout << G4endl;
|
||||
|
||||
if (charge == 0.) {
|
||||
G4cout.precision(prec);
|
||||
G4cout << "\n-------------------------------------------------------------\n";
|
||||
return;
|
||||
}
|
||||
|
||||
//get stopping power
|
||||
std::vector<G4double> dedx1;
|
||||
std::vector<G4double> dedx2;
|
||||
G4double dedx, dedxtot = 0.;
|
||||
|
||||
for (size_t j=0; j<emName.size();j++) {
|
||||
dedx = emCal.ComputeDEDX(energy,particle,emName[j],material,enerCut[j]);
|
||||
dedx1.push_back(dedx);
|
||||
dedx2.push_back(dedx/density);
|
||||
}
|
||||
dedxtot = emCal.GetDEDX(energy,particle,material);
|
||||
dedx1.push_back(dedxtot);
|
||||
dedx2.push_back(dedxtot/density);
|
||||
|
||||
//print stopping power
|
||||
G4cout << "\n \n restricted dE/dx : ";
|
||||
for (size_t j=0; j<sigma1.size();j++) {
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit(dedx1[j],"Energy/Length");
|
||||
}
|
||||
|
||||
G4cout << "\n (MeV/g/cm2) : ";
|
||||
for (size_t j=0; j<sigma2.size();j++) {
|
||||
G4cout << "\t" << std::setw(13) << G4BestUnit(dedx2[j],"Energy*Surface/Mass");
|
||||
}
|
||||
|
||||
//get range from restricted dedx
|
||||
G4double range1 = emCal.GetRangeFromRestricteDEDX(energy,particle,material);
|
||||
G4double range2 = range1*density;
|
||||
|
||||
//get range from full dedx
|
||||
G4double Range1 = emCal.GetCSDARange(energy,particle,material);
|
||||
G4double Range2 = Range1*density;
|
||||
|
||||
//print range
|
||||
G4cout << "\n \n range from restrict dE/dx: "
|
||||
<< "\t" << std::setw(8) << G4BestUnit(range1,"Length")
|
||||
<< " (" << std::setw(8) << G4BestUnit(range2,"Mass/Surface") << ")";
|
||||
|
||||
G4cout << "\n range from full dE/dx : "
|
||||
<< "\t" << std::setw(8) << G4BestUnit(Range1,"Length")
|
||||
<< " (" << std::setw(8) << G4BestUnit(Range2,"Mass/Surface") << ")";
|
||||
|
||||
//get transport mean free path (for multiple scattering)
|
||||
G4double MSmfp1 = emCal.GetMeanFreePath(energy,particle,"msc",material);
|
||||
G4double MSmfp2 = MSmfp1*density;
|
||||
|
||||
//print transport mean free path
|
||||
G4cout << "\n \n transport mean free path : "
|
||||
<< "\t" << std::setw(8) << G4BestUnit(MSmfp1,"Length")
|
||||
<< " (" << std::setw(8) << G4BestUnit(MSmfp2,"Mass/Surface") << ")";
|
||||
|
||||
if (particle == G4Electron::Electron()) CriticalEnergy();
|
||||
|
||||
G4cout << "\n-------------------------------------------------------------\n";
|
||||
G4cout << G4endl;
|
||||
|
||||
// reset default precision
|
||||
G4cout.precision(prec);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void RunAction::EndOfRunAction(const G4Run* )
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#include "G4ProductionCutsTable.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void RunAction::GetCuts()
|
||||
{
|
||||
G4ProductionCutsTable* theCoupleTable =
|
||||
G4ProductionCutsTable::GetProductionCutsTable();
|
||||
|
||||
size_t numOfCouples = theCoupleTable->GetTableSize();
|
||||
const G4MaterialCutsCouple* couple = 0;
|
||||
G4int index = 0;
|
||||
for (size_t i=0; i<numOfCouples; i++) {
|
||||
couple = theCoupleTable->GetMaterialCutsCouple(i);
|
||||
if (couple->GetMaterial() == detector->GetMaterial()) {index = i; break;}
|
||||
}
|
||||
|
||||
rangeCut[0] =
|
||||
(*(theCoupleTable->GetRangeCutsVector(idxG4GammaCut)))[index];
|
||||
rangeCut[1] =
|
||||
(*(theCoupleTable->GetRangeCutsVector(idxG4ElectronCut)))[index];
|
||||
rangeCut[2] =
|
||||
(*(theCoupleTable->GetRangeCutsVector(idxG4PositronCut)))[index];
|
||||
|
||||
energyCut[0] =
|
||||
(*(theCoupleTable->GetEnergyCutsVector(idxG4GammaCut)))[index];
|
||||
energyCut[1] =
|
||||
(*(theCoupleTable->GetEnergyCutsVector(idxG4ElectronCut)))[index];
|
||||
energyCut[2] =
|
||||
(*(theCoupleTable->GetEnergyCutsVector(idxG4PositronCut)))[index];
|
||||
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void RunAction::CriticalEnergy()
|
||||
{
|
||||
// compute e- critical energy (Rossi definition) and Moliere radius.
|
||||
// Review of Particle Physics - Eur. Phys. J. C3 (1998) page 147
|
||||
//
|
||||
G4EmCalculator emCal;
|
||||
|
||||
const G4Material* material = detector->GetMaterial();
|
||||
const G4double radl = material->GetRadlen();
|
||||
G4double ekin = 5*MeV;
|
||||
G4double deioni;
|
||||
G4double err = 1., errmax = 0.001;
|
||||
G4int iter = 0 , itermax = 10;
|
||||
while (err > errmax && iter < itermax) {
|
||||
iter++;
|
||||
deioni = radl*
|
||||
emCal.ComputeDEDX(ekin,G4Electron::Electron(),"eIoni",material);
|
||||
err = std::abs(deioni - ekin)/ekin;
|
||||
ekin = deioni;
|
||||
}
|
||||
G4cout << "\n \n critical energy (Rossi) : "
|
||||
<< "\t" << std::setw(8) << G4BestUnit(ekin,"Energy");
|
||||
|
||||
//Pdg formula (only for single material)
|
||||
G4double pdga[2] = { 610*MeV, 710*MeV };
|
||||
G4double pdgb[2] = { 1.24, 0.92 };
|
||||
G4double EcPdg = 0.;
|
||||
|
||||
if (material->GetNumberOfElements() == 1) {
|
||||
G4int istat = 0;
|
||||
if (material->GetState() == kStateGas) istat = 1;
|
||||
G4double Zeff = material->GetZ() + pdgb[istat];
|
||||
EcPdg = pdga[istat]/Zeff;
|
||||
G4cout << "\t\t\t (from Pdg formula : "
|
||||
<< std::setw(8) << G4BestUnit(EcPdg,"Energy") << ")";
|
||||
}
|
||||
|
||||
const G4double Es = 21.2052*MeV;
|
||||
G4double rMolier1 = Es/ekin, rMolier2 = rMolier1*radl;
|
||||
G4cout << "\n Moliere radius : "
|
||||
<< "\t" << std::setw(8) << rMolier1 << " X0 "
|
||||
<< "= " << std::setw(8) << G4BestUnit(rMolier2,"Length");
|
||||
|
||||
if (material->GetNumberOfElements() == 1) {
|
||||
G4double rMPdg = radl*Es/EcPdg;
|
||||
G4cout << "\t (from Pdg formula : "
|
||||
<< std::setw(8) << G4BestUnit(rMPdg,"Length") << ")";
|
||||
}
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.64 2005/12/06 11:25:21 gcosmo Exp $
|
||||
$Id: History,v 1.76 2006/05/19 12:36:43 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,29 @@ track of all tags.
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
19-05-06 mma (testem1-V08-00-04)
|
||||
- update README
|
||||
|
||||
27-03-06 mma (testem1-V08-00-03)
|
||||
- PhysicsList: new functions AddDecay(), AddStepMax()
|
||||
|
||||
27-03-06 mma (testem1-V08-00-02)
|
||||
- TestEm1.in : migration mum -> um
|
||||
- name brem -> eBrem
|
||||
|
||||
26-01-06 mma (testem1-V08-00-01)
|
||||
- refresh all geant3 macros
|
||||
- change printing format in EndOfRun
|
||||
|
||||
25-01-06 mma (testem1-V08-00-00)
|
||||
- rename csdaRange -> trueRange
|
||||
- histograms for primary particle only
|
||||
- refresh all macros. Change names
|
||||
- GetCSDARange() in EndOfRun
|
||||
|
||||
19-01-06 mma
|
||||
- add PhysListEmLivermore and PhysListEmPenelope
|
||||
|
||||
06-12-05 Gabriele Cosmo
|
||||
- Trivial changes for support of CLHEP-2.0.X series.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
|
||||
$Id: README,v 1.21 2006/05/15 14:38:15 maire Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -7,8 +7,10 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
|
||||
|
||||
TestEm1
|
||||
-------
|
||||
|
||||
This example has been setup to test individualy the electromagnetic processes.
|
||||
How to count processes.
|
||||
How to activate/inactivate processes.
|
||||
How to survey the tracking, in perticular the range of charged particles.
|
||||
How to define a maximum step size.
|
||||
|
||||
1 - GEOMETRY DEFINITION
|
||||
|
||||
@@ -82,14 +84,22 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
|
||||
Idle> type your commands
|
||||
....
|
||||
Idle> exit
|
||||
|
||||
7 - HISTOGRAMS
|
||||
|
||||
7 - TRACKING : StepMax
|
||||
|
||||
In order to control the accuracy of the deposition, the user can limit
|
||||
'by hand' the maximum step size of charged particles.
|
||||
As an example, this limitation is implemented as a 'full' process :
|
||||
see StepMax class and its Messenger. The 'StepMax process' is registered
|
||||
in the Physics List.
|
||||
|
||||
8 - HISTOGRAMS
|
||||
|
||||
Testem1 produces several histo which are saved as testem1.hbook by default.
|
||||
Content of these histo:
|
||||
1 : track length of a charged particle
|
||||
2 : number of steps per track (charged particle)
|
||||
3 : step length (charged particle)
|
||||
1 : track length of primary particle
|
||||
2 : number of steps primary particle
|
||||
3 : step size of primary particle
|
||||
|
||||
Note that, by default, histograms are disabled. To activate them, uncomment
|
||||
the flag G4ANALYSIS_USE in GNUmakefile.
|
||||
@@ -98,12 +108,12 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
|
||||
gmake histclean
|
||||
gmake
|
||||
|
||||
8- USING HISTOGRAMS
|
||||
9 - USING HISTOGRAMS
|
||||
|
||||
To use histograms, at least one of the AIDA implementations should be
|
||||
available (see http://aida.freehep.org).
|
||||
|
||||
8a - PI
|
||||
9a - PI
|
||||
|
||||
A package including AIDA and extended interfaces also using Python is PI,
|
||||
available from: http://cern.ch/pi
|
||||
@@ -117,7 +127,7 @@ $Id: README,v 1.17 2005/11/22 17:14:07 maire Exp $
|
||||
Before running the example the command should be issued:
|
||||
eval `aida-config --runtime csh`
|
||||
|
||||
8b - OpenScientist
|
||||
9b - OpenScientist
|
||||
|
||||
OpenScientist is available at http://OpenScientist.lal.in2p3.fr.
|
||||
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: TestEm1.cc,v 1.13 2005/12/06 11:25:21 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: TestEm1.cc,v 1.14 2006/06/29 16:36:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: TestEm1.in,v 1.19 2005/02/01 11:34:00 maire Exp $
|
||||
# $Id: TestEm1.in,v 1.24 2006/02/16 13:54:26 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
@@ -6,32 +6,31 @@
|
||||
# electron 100 MeV; all processes
|
||||
#
|
||||
/control/verbose 2
|
||||
/tracking/verbose 0
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 2.20 mm
|
||||
/testem/phys/setECut 6.05 mum
|
||||
/testem/phys/setPCut 6.05 mum
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 10 m
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 1.70 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle e-
|
||||
/gun/energy 100 MeV
|
||||
#
|
||||
/testem/histo/setHisto 1 100 0 50 cm
|
||||
/testem/histo/setHisto 2 100 0 100
|
||||
/testem/histo/setHisto 3 100 0 10 mm
|
||||
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
|
||||
/testem/histo/setHisto 2 100 0 300 none #nb steps of primary
|
||||
/testem/histo/setHisto 3 200 0 20 mm #step size of primary
|
||||
#
|
||||
/testem/histo/setFileType hbook
|
||||
###/testem/histo/setFileType root
|
||||
###/testem/histo/setFileType XML
|
||||
#
|
||||
/testem/histo/setFileName run0
|
||||
/run/beamOn 200
|
||||
#
|
||||
/testem/phys/setCuts 1 mm
|
||||
/testem/histo/setFileName run0
|
||||
/run/beamOn 2000
|
||||
#
|
||||
/process/eLoss/verbose 0
|
||||
#
|
||||
/testem/phys/setCuts 10 um
|
||||
/testem/histo/setFileName run1
|
||||
/run/beamOn 200
|
||||
/run/beamOn 2000
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-08-00-cand-01 (16-December-2005)
|
||||
Geant4 version Name: global-V08-00-04 (30-June-2006)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -10,51 +10,51 @@
|
||||
***** Table : Nb of materials = 12 *****
|
||||
|
||||
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
|
||||
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
|
||||
---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 %
|
||||
|
||||
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 %
|
||||
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Water 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 %
|
||||
---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 %
|
||||
|
||||
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
|
||||
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
|
||||
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Silicon density: 2.330 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 9.368 cm
|
||||
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Silicon ( ) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Germanium density: 5.323 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 2.301 cm
|
||||
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Germanium ( ) Z = 32.0 N = 72.6 A = 72.61 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 15.41 % Abundance 63.16 %
|
||||
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole fractionMass: 17.48 % Abundance 15.79 %
|
||||
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole fractionMass: 67.10 % Abundance 21.05 %
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 %
|
||||
---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 %
|
||||
---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 %
|
||||
|
||||
Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm
|
||||
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Tungsten density: 19.300 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.504 mm
|
||||
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Tungsten ( ) Z = 74.0 N = 183.8 A = 183.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
|
||||
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm
|
||||
---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole fractionMass: 100.00 % Abundance 100.00 %
|
||||
---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 %
|
||||
|
||||
|
||||
Visualization Manager instantiating...
|
||||
Visualization Manager initialising...
|
||||
Registering graphics systems...
|
||||
|
||||
You have successfully chosen to use the following graphics systems.
|
||||
You have successfully registered the following graphics systems.
|
||||
Current available graphics systems are:
|
||||
ASCIITree (ATree)
|
||||
DAWNFILE (DAWNFILE)
|
||||
@@ -66,37 +66,58 @@ Current available graphics systems are:
|
||||
VRML2FILE (VRML2FILE)
|
||||
|
||||
Registering model factories...
|
||||
/tracking/verbose 0
|
||||
#
|
||||
/testem/phys/setGCut 2.20 mm
|
||||
/testem/phys/setECut 6.05 mum
|
||||
/testem/phys/setPCut 6.05 mum
|
||||
#
|
||||
/run/initialize
|
||||
|
||||
The Box is 10 m of Aluminium
|
||||
PhysicsList::SetCuts:CutLength : 1 mm
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 1.70 micrometer
|
||||
#
|
||||
You have successfully registered the following model factories.
|
||||
Registered model factories:
|
||||
generic
|
||||
drawByCharge
|
||||
drawByParticleID
|
||||
drawByOriginVolume
|
||||
|
||||
Registered models:
|
||||
None
|
||||
|
||||
Registered filter factories:
|
||||
chargeFilter
|
||||
particleFilter
|
||||
originVolumeFilter
|
||||
|
||||
Registered filters:
|
||||
None
|
||||
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 10 m
|
||||
#
|
||||
/run/initialize
|
||||
userDetector->Construct() start.
|
||||
|
||||
The Box is 10 m of Aluminium
|
||||
Aluminium is registered to the default region.
|
||||
physicsList->Construct() start.
|
||||
physicsList->Construct() start.
|
||||
physicsList->setCut() start.
|
||||
PhysicsList::SetCuts:CutLength : 1 mm
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle e-
|
||||
/gun/energy 100 MeV
|
||||
#
|
||||
/testem/histo/setHisto 1 100 0 50 cm
|
||||
----> SetHisto 1: total track length of a charged particle (cm); 100 bins from 0 cm to 50 cm
|
||||
/testem/histo/setHisto 2 100 0 100
|
||||
----> SetHisto 2: nb steps per track (charged particles); 100 bins from 0 none to 100 none
|
||||
/testem/histo/setHisto 3 100 0 10 mm
|
||||
----> SetHisto 3: step length of charged particles (mm); 100 bins from 0 mm to 10 mm
|
||||
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
|
||||
----> SetHisto 1: total track length of primary particle (cm); 100 bins from 0 cm to 50 cm
|
||||
/testem/histo/setHisto 2 100 0 300 none #nb steps of primary
|
||||
----> SetHisto 2: nb steps of primary particle; 100 bins from 0 none to 300 none
|
||||
/testem/histo/setHisto 3 200 0 20 mm #step size of primary
|
||||
----> SetHisto 3: step size of primary particle (mm); 200 bins from 0 mm to 20 mm
|
||||
#
|
||||
/testem/histo/setFileType hbook
|
||||
###/testem/histo/setFileType root
|
||||
###/testem/histo/setFileType XML
|
||||
#
|
||||
/testem/phys/setCuts 1 mm
|
||||
/testem/histo/setFileName run0
|
||||
/run/beamOn 200
|
||||
/run/beamOn 2000
|
||||
|
||||
phot: Total cross sections from Sandia parametrisation.
|
||||
|
||||
@@ -118,9 +139,10 @@ eIoni: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
brem: tables are built for e-
|
||||
eBrem: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
@@ -130,9 +152,10 @@ eIoni: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
brem: tables are built for e+
|
||||
eBrem: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
@@ -151,16 +174,28 @@ hIoni: tables are built for proton
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
msc: Model variant of multiple scattering for GenericIon
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
|
||||
ionIoni: tables are built for GenericIon
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Stopping Power data for 8 ion/material pairs are used.
|
||||
Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
hIoni: tables are built for anti_proton
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
msc: Model variant of multiple scattering for mu+
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
@@ -171,7 +206,8 @@ muIoni: tables are built for mu+
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
|
||||
radiative corrections for E > 1 GeV
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
muBrems: tables are built for mu+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
@@ -188,7 +224,8 @@ muIoni: tables are built for mu-
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
|
||||
radiative corrections for E > 1 GeV
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
muBrems: tables are built for mu-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
@@ -200,20 +237,36 @@ muPairProd: tables are built for mu-
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Parametrised model
|
||||
|
||||
hIoni: tables are built for pi+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
msc: Model variant of multiple scattering for pi-
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
|
||||
hIoni: tables are built for pi-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below.
|
||||
Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1
|
||||
CSDA range table up to 1 GeV in 70 bins.
|
||||
|
||||
Region <DefaultRegionForTheWorld> -- appears in <Aluminium> world volume
|
||||
Materials : Aluminium
|
||||
Production cuts : gamma 2.2 mm e- 6.05 mum e+ 6.05 mum
|
||||
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
|
||||
Index : 0 used in the geometry : Yes recalculation needed : No
|
||||
Material : Aluminium
|
||||
Range cuts : gamma 2.2 mm e- 6.05 mum e+ 6.05 mum
|
||||
Energy thresholds : gamma 9.98636 keV e- 9.96618 keV e+ 9.96618 keV
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -235,160 +288,56 @@ Start Run processing.
|
||||
---> Begin of Event: 0
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 200
|
||||
User=143.37s Real=168.97s Sys=23.87s
|
||||
Number of events processed : 2000
|
||||
User=88.64s Real=125.25s Sys=29.48s
|
||||
|
||||
======================== run summary ======================
|
||||
|
||||
The run was: 200 e- of 100.00 MeV through 10.00 m of Aluminium (density: 2.70 g/cm3 )
|
||||
The run was: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 )
|
||||
|
||||
============================================================
|
||||
|
||||
total energy deposit: 99.809 MeV
|
||||
total energy deposit: 99.783 MeV
|
||||
|
||||
nb tracks/event neutral: 27.575 charged: 693.310
|
||||
nb steps/event neutral: 138.115 charged: 3828.275
|
||||
nb tracks/event neutral: 27.951 charged: 148.47
|
||||
nb steps/event neutral: 141.41 charged: 363.77
|
||||
|
||||
nb of process calls per event:
|
||||
eIoni brem msc phot compt conv annihilTransportation
|
||||
3144.490 25.910 656.495 25.180 110.540 1.380 1.380 1.015
|
||||
eBrem eIoni compt phot mscTransportation conv annihil
|
||||
26.174 188.17 113.46 25.501 147.96 0.9905 1.4625 1.463
|
||||
|
||||
---------------------------------------------------------
|
||||
Primary particle :
|
||||
CSDA Range = 10.761 cm rms = 3.879 cm
|
||||
proj Range = 9.255 cm rms = 3.650 cm
|
||||
proj/CSDA = 0.860
|
||||
transverse dispersion at end = 1.741 cm
|
||||
true Range = 11.121 cm rms = 3.8093 cm
|
||||
proj Range = 9.5817 cm rms = 3.5013 cm
|
||||
proj/true = 0.86158
|
||||
transverse dispersion at end = 1.8005 cm
|
||||
mass true Range from simulation = 30.027 g/cm2
|
||||
from PhysicsTable (csda range) = 31.791 g/cm2
|
||||
---------------------------------------------------------
|
||||
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 1674441358, 1865268964
|
||||
Current couple of seeds = 486808439, 1322415313
|
||||
----------------------------------------
|
||||
|
||||
mass CSDA Range from simulation = 29.055 g/cm2
|
||||
from PhysicsTable = 85.395 g/cm2
|
||||
---------------------------------------------------------
|
||||
#
|
||||
/testem/phys/setCuts 1 mm
|
||||
/process/eLoss/verbose 0
|
||||
#
|
||||
/testem/phys/setCuts 10 um
|
||||
/testem/histo/setFileName run1
|
||||
/run/beamOn 200
|
||||
|
||||
phot: Total cross sections from Sandia parametrisation.
|
||||
|
||||
compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV
|
||||
Sampling according Klein-Nishina model
|
||||
tables are built for gamma
|
||||
Lambda tables from 100 eV to 100 GeV in 90 bins.
|
||||
|
||||
conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z;
|
||||
sampling secondary e+e- according to the Bethe-Heitler model
|
||||
tables are built for gamma
|
||||
Lambda tables from 1.0219981 MeV to 100 GeV in 100 bins.
|
||||
|
||||
msc: Model variant of multiple scattering for e-
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
|
||||
eIoni: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
brem: tables are built for e-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
|
||||
|
||||
eIoni: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
brem: tables are built for e+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Total cross sections from a parametrisation based on the EEDL data library.
|
||||
Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV.
|
||||
|
||||
annihil: Heilter model of formula of annihilation into 2 photons
|
||||
tables are built for e+
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
|
||||
msc: Model variant of multiple scattering for proton
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
|
||||
hIoni: tables are built for proton
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
msc: Model variant of multiple scattering for GenericIon
|
||||
|
||||
ionIoni: tables are built for GenericIon
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Scaling relation is used to proton dE/dx and range
|
||||
Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below.
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
msc: Model variant of multiple scattering for mu+
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
|
||||
muIoni: tables are built for mu+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
|
||||
radiative corrections for E > 1 GeV
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
muBrems: tables are built for mu+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Parametrised model
|
||||
|
||||
muPairProd: tables are built for mu+
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Parametrised model
|
||||
|
||||
muIoni: tables are built for mu-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below,
|
||||
radiative corrections for E > 1 GeV
|
||||
Step function: finalRange(mm)= 0.0017, dRoverRange= 0.183, integral: 1
|
||||
|
||||
muBrems: tables are built for mu-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Parametrised model
|
||||
|
||||
muPairProd: tables are built for mu-
|
||||
dE/dx and range tables from 100 eV to 100 TeV in 120 bins.
|
||||
Lambda tables from threshold to 100 TeV in 120 bins.
|
||||
Parametrised model
|
||||
|
||||
msc: Model variant of multiple scattering for pi-
|
||||
Lambda tables from 100 eV to 100 TeV in 120 bins.
|
||||
Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1
|
||||
/run/beamOn 2000
|
||||
|
||||
Region <DefaultRegionForTheWorld> -- appears in <Aluminium> world volume
|
||||
Materials : Aluminium
|
||||
Production cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
Production cuts : gamma 10 um e- 10 um e+ 10 um
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
|
||||
Index : 0 used in the geometry : Yes recalculation needed : No
|
||||
Material : Aluminium
|
||||
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
|
||||
Energy thresholds : gamma 6.8873065 keV e- 596.68045 keV e+ 568.01052 keV
|
||||
Range cuts : gamma 10 um e- 10 um e+ 10 um
|
||||
Energy thresholds : gamma 990 eV e- 33.887552 keV e+ 33.472938 keV
|
||||
Region(s) which use this couple :
|
||||
DefaultRegionForTheWorld
|
||||
|
||||
@@ -398,46 +347,46 @@ Index : 0 used in the geometry : Yes recalculation needed : No
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 1674441358, 1865268964
|
||||
Current couple of seeds = 486808439, 1322415313
|
||||
----------------------------------------
|
||||
Start Run processing.
|
||||
|
||||
---> Begin of Event: 0
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 200
|
||||
User=45.28s Real=58.43s Sys=11.47s
|
||||
Number of events processed : 2000
|
||||
User=175.77s Real=232.34s Sys=49.85s
|
||||
|
||||
======================== run summary ======================
|
||||
|
||||
The run was: 200 e- of 100.00 MeV through 10.00 m of Aluminium (density: 2.70 g/cm3 )
|
||||
The run was: 2000 e- of 100 MeV through 10 m of Aluminium (density: 2.7 g/cm3 )
|
||||
|
||||
============================================================
|
||||
|
||||
total energy deposit: 99.789 MeV
|
||||
total energy deposit: 99.793 MeV
|
||||
|
||||
nb tracks/event neutral: 27.115 charged: 143.160
|
||||
nb steps/event neutral: 136.270 charged: 1161.905
|
||||
nb tracks/event neutral: 36.393 charged: 290.7
|
||||
nb steps/event neutral: 146.05 charged: 775.79
|
||||
|
||||
nb of process calls per event:
|
||||
brem eIoni compt phot msc conv annihilTransportation
|
||||
25.585 1022.685 109.155 24.920 112.355 1.280 1.280 0.915
|
||||
eIoni eBrem msc phot compt conv annihilTransportation
|
||||
449.81 34.605 289.96 34.055 109.65 1.397 1.3975 0.949
|
||||
|
||||
---------------------------------------------------------
|
||||
Primary particle :
|
||||
CSDA Range = 11.292 cm rms = 3.464 cm
|
||||
proj Range = 9.702 cm rms = 3.120 cm
|
||||
proj/CSDA = 0.859
|
||||
transverse dispersion at end = 1.774 cm
|
||||
true Range = 11.149 cm rms = 3.8924 cm
|
||||
proj Range = 9.5626 cm rms = 3.5687 cm
|
||||
proj/true = 0.85772
|
||||
transverse dispersion at end = 1.9027 cm
|
||||
mass true Range from simulation = 30.102 g/cm2
|
||||
from PhysicsTable (csda range) = 31.791 g/cm2
|
||||
---------------------------------------------------------
|
||||
|
||||
|
||||
--------- Ranecu engine status ---------
|
||||
Initial seed (index) = 0
|
||||
Current couple of seeds = 1519444746, 431167489
|
||||
Current couple of seeds = 763249003, 2053971629
|
||||
----------------------------------------
|
||||
|
||||
mass CSDA Range from simulation = 30.488 g/cm2
|
||||
from PhysicsTable = 67.818 g/cm2
|
||||
---------------------------------------------------------
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
UserDetectorConstruction deleted.
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# $Id: annihil.mac,v 1.1 2006/01/25 13:56:40 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
#
|
||||
# e+ beam; 100 MeV
|
||||
# To visualise e+ annihilation
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 20 cm
|
||||
#
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/control/execute vis.mac
|
||||
#
|
||||
# prevent ionisation and bremsstrahlung production
|
||||
/testem/phys/setCuts 1 km
|
||||
#
|
||||
# no multiple scattering
|
||||
/process/inactivate msc
|
||||
#
|
||||
# no photon interaction
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle e+
|
||||
/gun/energy 100 MeV
|
||||
# spread beam spot
|
||||
/testem/gun/rndm 0.8
|
||||
#
|
||||
/tracking/verbose 1
|
||||
#
|
||||
/run/beamOn 20
|
||||
@@ -0,0 +1,48 @@
|
||||
# $Id: brems.mac,v 1.3 2006/04/10 10:22:41 vnivanch Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Bremsstrahlung only
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 50 cm
|
||||
#
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
# prevent any e- ionisation production
|
||||
/testem/phys/setECut 1 km
|
||||
#
|
||||
# no multiple scattering
|
||||
/process/inactivate msc
|
||||
#
|
||||
# set cut for gamma bremsstrahlung
|
||||
/testem/phys/setGCut 1 mm
|
||||
#
|
||||
# no gamma interaction
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle e-
|
||||
/gun/energy 200 MeV
|
||||
#
|
||||
/testem/histo/setFileName brems
|
||||
/testem/histo/setFileType hbook
|
||||
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
|
||||
/testem/histo/setHisto 2 100 0 100 none #nb steps of primary
|
||||
/testem/histo/setHisto 3 200 0 50 mm #step size of primary
|
||||
#
|
||||
/testem/event/printModulo 2000
|
||||
#
|
||||
/process/eLoss/verbose 0
|
||||
/process/inactivate eIoni
|
||||
/run/physicsModified
|
||||
/run/beamOn 10000
|
||||
#
|
||||
@@ -0,0 +1,38 @@
|
||||
# $Id: gammaconversion.mac,v 1.1 2006/01/25 13:56:40 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
#
|
||||
# Photon beam; 100 MeV
|
||||
# To visualise gamma conversion and e+ annihilation
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 1 m
|
||||
#
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/control/execute vis.mac
|
||||
#
|
||||
# no photoElectric nor Compton
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
#
|
||||
# prevent ionisation and bremsstrahlung production
|
||||
/testem/phys/setCuts 1 km
|
||||
#
|
||||
# no multiple scattering
|
||||
/process/inactivate msc
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle gamma
|
||||
/gun/energy 100 MeV
|
||||
# spread beam spot
|
||||
/testem/gun/rndm 0.8
|
||||
#
|
||||
/tracking/verbose 1
|
||||
#
|
||||
/run/beamOn 20
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
Content of these histo:
|
||||
|
||||
1 : track length of a charged particle
|
||||
2 : number of steps per track (charged particle)
|
||||
3 : step length (charged particle)
|
||||
1 : track length of primary particle
|
||||
2 : number of steps of primary particle
|
||||
3 : step size of primary particle
|
||||
|
||||
|
||||
+9
-7
@@ -1,18 +1,20 @@
|
||||
LIST
|
||||
C
|
||||
C Eloss+muls only; no fluctuation; e- 10 Mev
|
||||
C e+ beam; 100 MeV
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 0.010 (Ekine)
|
||||
CALOR 5 (Al) 20. (cm) 0. (field)
|
||||
TRIG 20
|
||||
KINE 2 (positron) 0.1 (GeV) 1. (xBeam) 0.8 (rBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
MULS 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 0
|
||||
MULS 1
|
||||
LOSS 4
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
+9
-7
@@ -1,18 +1,20 @@
|
||||
LIST
|
||||
C
|
||||
C full Brems only; e- 1 Gev
|
||||
C Bremsstrahlung only
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 1.000 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
CALOR 5 (Al) 50. (cm) 0. (field)
|
||||
TRIG 10000
|
||||
KINE 3 (electron) 0.2 (GeV) 1. (xBeam)
|
||||
DEBUG 10 5 2000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e-6 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
MULS 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 0
|
||||
MULS 0
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
+7
-6
@@ -1,18 +1,19 @@
|
||||
LIST
|
||||
C
|
||||
C Eloss only; glandz fluctuations; e- 1 Gev
|
||||
C Photon beam; 100 MeV
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 1.000 (Ekine)
|
||||
CALOR 5 (Al) 100. (cm) 0. (field)
|
||||
TRIG 20
|
||||
KINE 1 (gamma) 0.1 (GeV) 1. (xBeam) 0.8 (rBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 0
|
||||
MULS 0
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
+3
-6
@@ -1,14 +1,11 @@
|
||||
LIST
|
||||
C
|
||||
C e- 1 Gev; all processes
|
||||
C geantino; 100 evts
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
CALOR 5 (Al) 1000. (cm) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 1.000 (Ekine)
|
||||
KINE 48 (Geantino) 1. (GeV) 1. (xBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
@@ -26,7 +26,7 @@ chmod +x $name.xb
|
||||
#
|
||||
# cleanup
|
||||
#
|
||||
rm *.o
|
||||
rm -rf *.o
|
||||
echo 'done'
|
||||
exit
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ chmod +x $name.xt
|
||||
#
|
||||
# cleanup
|
||||
#
|
||||
rm *.o
|
||||
rm -rf *.o
|
||||
echo 'done'
|
||||
exit
|
||||
|
||||
|
||||
+8
-9
@@ -1,18 +1,17 @@
|
||||
LIST
|
||||
C
|
||||
C full Ionisation only; e- 100 Mev
|
||||
C full Ionisation only
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 0.100 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
CALOR 5 (Al) 50. (cm) 0. (field)
|
||||
TRIG 10000
|
||||
KINE 3 (electron) 0.2 (GeV) 1. (xBeam)
|
||||
DEBUG 10 5 2000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 0
|
||||
MULS 0
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
@@ -1,19 +0,0 @@
|
||||
LIST
|
||||
C
|
||||
C Photo electric; gamma 1 MeV
|
||||
C
|
||||
CALOR 10 (Germanium) 1. (size) 0. (field)
|
||||
TRIG 100000
|
||||
KINE 1 (gamma) 0.001 (Ekine) 1. (xBeam) 0.8 (rBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 1
|
||||
COMP 0
|
||||
PAIR 0
|
||||
BREM 0
|
||||
MULS 1
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
+7
-9
@@ -1,18 +1,16 @@
|
||||
LIST
|
||||
C
|
||||
C Compton + Photo electric; gamma 10 MeV
|
||||
C Photon beam; gamma 300 keV
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 1000
|
||||
KINE 1 (Itype) 0.010 (Ekine)
|
||||
CALOR 10 (Germanium) 1. (cm) 0. (field)
|
||||
TRIG 100000
|
||||
KINE 1 (gamma) 300.e-6 (GeV) 1. (xBeam) 0.8 (rBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 2
|
||||
COMP 2
|
||||
PAIR 0
|
||||
MULS 0
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
+8
-9
@@ -1,18 +1,17 @@
|
||||
LIST
|
||||
C
|
||||
C Eloss only; no fluctuation; e- 1 Gev
|
||||
C csda range of the primary particle
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 1.000 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
CALOR 3 (water) 10. (cm) 0. (field)
|
||||
TRIG 20000
|
||||
KINE 14 (proton) 0.1 (GeV) 1. (xBeam)
|
||||
DEBUG 10 5 2000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*10.e+3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 0
|
||||
MULS 0
|
||||
LOSS 4
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
@@ -1,14 +0,0 @@
|
||||
LIST
|
||||
C
|
||||
C geantino; 10000 evts
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 10000
|
||||
KINE 48 (Itype) 1.0 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
@@ -1,19 +0,0 @@
|
||||
LIST
|
||||
C
|
||||
C Gamma conversion and e+ annihilation; gamma 100 MeV
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 1000
|
||||
KINE 1 (Itype) 0.100 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*15.e-3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
PHOT 0
|
||||
COMP 0
|
||||
PAIR 1
|
||||
ANNI 2
|
||||
MULS 0
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
@@ -1,14 +0,0 @@
|
||||
LIST
|
||||
C
|
||||
C e- 10 Gev; all processes
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 10.000 (Ekine)
|
||||
DEBUG 10 5 10
|
||||
SWIT 0 (draw) 0 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e-6 (bcute/m) 2*597.e-6 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
@@ -1,14 +0,0 @@
|
||||
LIST
|
||||
C
|
||||
C Eloss only + muls; e- 1 Gev
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 1000
|
||||
KINE 3 (Itype) 1.000 (Ekine)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 1 (save)
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e+3 (bcute/m) 2*100.e-3 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
LOSS 1
|
||||
TIME 2=1.
|
||||
@@ -26,7 +26,6 @@
|
||||
IF (CHARGE.NE.0.) THEN
|
||||
NSTEP1 = NSTEP1 + 1
|
||||
NSTRK1 = NSTRK1 + 1
|
||||
CALL HFILL (3,STEP*10,0.,1.)
|
||||
ELSE
|
||||
NSTEP0 = NSTEP0 + 1
|
||||
NSTRK0 = NSTRK0 + 1
|
||||
@@ -40,5 +39,8 @@
|
||||
IF (IPROC.LE.12) NBCALL(IPROC) = NBCALL(IPROC)+1
|
||||
ENDDO
|
||||
ENDIF
|
||||
|
||||
*
|
||||
* *** step size of primary particle
|
||||
IF ((ITRA.EQ.1).AND.(ISTAK.EQ.0)) CALL HFILL (3,STEP*10,0.,1.)
|
||||
*
|
||||
END
|
||||
|
||||
@@ -19,11 +19,17 @@
|
||||
*
|
||||
* *** count nb of tracks
|
||||
IF (CHARGE.NE.0.) THEN
|
||||
NTRAK1 = NTRAK1 + 1
|
||||
CALL HFILL (1,SLENG*10,0.,1.)
|
||||
CALL HFILL (2,REAL(NSTRK1),0.,1.)
|
||||
NTRAK1 = NTRAK1 + 1
|
||||
ELSE
|
||||
NTRAK0 = NTRAK0 + 1
|
||||
ENDIF
|
||||
NTRAK0 = NTRAK0 + 1
|
||||
ENDIF
|
||||
*
|
||||
* *** track length of primary particle
|
||||
IF ((ITRA.EQ.1).AND.(ISTAK.EQ.0)) THEN
|
||||
CALL HFILL (1,SLENG*10,0.,1.)
|
||||
nstrk = NSTRK0
|
||||
if (CHARGE.NE.0.) nstrk = NSTRK1
|
||||
CALL HFILL (2,REAL(nstrk),0.,1.)
|
||||
ENDIF
|
||||
*
|
||||
END
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* *** read data cards
|
||||
PRINT *, 'G3 > gives the filename of the data cards to be read:'
|
||||
READ (*,'(A)') filnam
|
||||
IF (filnam.EQ.' ') filnam = 'run01.dat'
|
||||
IF (filnam.EQ.' ') filnam = 'testem1.dat'
|
||||
OPEN (unit=5,file=filnam,status='unknown',form='formatted')
|
||||
|
||||
*
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*
|
||||
* *** Save selected histograms
|
||||
IF (ISWIT(2).EQ.1) THEN
|
||||
CALL HRPUT(0,'testem1.paw','N')
|
||||
CALL HRPUT(0,'testem1.hbook','N')
|
||||
ENDIF
|
||||
*
|
||||
* *** formats
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
*
|
||||
* To book the user's histograms
|
||||
*
|
||||
CALL HBOOK1(1,'track length (mm) of a charged particle',
|
||||
CALL HBOOK1(1,'track length (mm) of primary particle',
|
||||
+ 100,0.,500.,0.)
|
||||
CALL HBOOK1(2,'Nb of steps per track (charged particle)',
|
||||
CALL HBOOK1(2,'Nb of steps of primary particle',
|
||||
+ 100,0.,100.,0.)
|
||||
CALL HBOOK1(3,'step length (mm) charged particle',
|
||||
CALL HBOOK1(3,'step size (mm) of primary particle',
|
||||
+ 100,0.,10. ,0.)
|
||||
*
|
||||
END
|
||||
|
||||
+7
-5
@@ -1,14 +1,16 @@
|
||||
LIST
|
||||
C
|
||||
C e- 100 Mev; all processes
|
||||
C e- 100 MeV; all processes
|
||||
C
|
||||
CALOR 5 (Imat) 2000. (size) 0. (field)
|
||||
TRIG 100
|
||||
KINE 3 (Itype) 0.100 (Ekine)
|
||||
CALOR 5 (Al) 1000. (cm) 0. (field)
|
||||
TRIG 2000
|
||||
KINE 3 (electron) 0.1 (GeV) 1. (xBeam)
|
||||
DEBUG 10 5 1000
|
||||
SWIT 0 (draw) 0 (save)
|
||||
C
|
||||
CUTS 10.e-6 (cutgam) 10.e-6 (cutele) 3*10.e-3 (cutneu/had/muo)
|
||||
2*10.e-6 (bcute/m) 2*10.e-6 (dcute/m) 10.e-3 (ppcutm)
|
||||
ABAN 0
|
||||
LOSS 1
|
||||
C
|
||||
ABAN 0
|
||||
TIME 2=1.
|
||||
+5
-4
@@ -1,16 +1,17 @@
|
||||
# $Id: run00.mac,v 1.2 2001/10/26 12:51:21 maire Exp $
|
||||
# $Id: geantino.mac,v 1.1 2006/01/24 18:29:07 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# geantino 1 GeV; 10000 evts
|
||||
# geantino 1 GeV; 100 evts
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/run/verbose 2
|
||||
/process/eLoss/verbose 0
|
||||
#
|
||||
/gun/particle geantino
|
||||
/gun/energy 1 GeV
|
||||
/run/beamOn 10000
|
||||
/run/beamOn 100
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: DetectorConstruction.hh,v 1.1 2003/10/06 10:02:22 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:36:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:36:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: EventAction.hh,v 1.2 2003/10/28 10:27:25 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: EventAction.hh,v 1.3 2006/06/29 16:36:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: EventActionMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:36:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoManager.hh,v 1.4 2005/02/01 11:34:03 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: HistoManager.hh,v 1.5 2006/06/29 16:36:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoMessenger.hh,v 1.2 2005/02/01 11:34:03 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: HistoMessenger.hh,v 1.3 2006/06/29 16:36:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmG4v52.hh,v 1.1 2003/10/06 10:02:24 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysListEmG4v52.hh,v 1.2 2006/06/29 16:36:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmG4v71.hh,v 1.2 2005/10/05 12:05:13 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysListEmG4v71.hh,v 1.3 2006/06/29 16:36:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:36:25 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysListEmLivermore_h
|
||||
#define PhysListEmLivermore_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysListEmLivermore : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
PhysListEmLivermore(const G4String& name = "Livermore");
|
||||
~PhysListEmLivermore();
|
||||
|
||||
public:
|
||||
// This method is dummy for physics
|
||||
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
|
||||
void ConstructProcess();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:36:28 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysListEmPenelope_h
|
||||
#define PhysListEmPenelope_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysListEmPenelope : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
PhysListEmPenelope(const G4String& name = "Penelope");
|
||||
~PhysListEmPenelope();
|
||||
|
||||
public:
|
||||
// This method is dummy for physics
|
||||
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
|
||||
void ConstructProcess();
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmStandard.hh,v 1.3 2003/10/24 12:06:36 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysListEmStandard.hh,v 1.4 2006/06/29 16:36:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysicsList.hh,v 1.2 2004/06/09 15:29:43 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysicsList.hh,v 1.4 2006/06/29 16:36:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//
|
||||
@@ -52,6 +55,9 @@ class PhysicsList: public G4VModularPhysicsList
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
void AddPhysicsList(const G4String& name);
|
||||
|
||||
void AddDecay();
|
||||
void AddStepMax();
|
||||
|
||||
void SetCuts();
|
||||
void SetCutForGamma(G4double);
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PhysicsListMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:36:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PrimaryGeneratorAction.hh,v 1.2 2004/07/23 15:39:34 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:36:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: PrimaryGeneratorMessenger.hh,v 1.2 2004/09/15 13:17:18 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:36:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: ProcessesCount.hh,v 1.9 2003/10/06 10:02:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: ProcessesCount.hh,v 1.10 2006/06/29 16:36:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: RunAction.hh,v 1.6 2004/08/03 11:31:43 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: RunAction.hh,v 1.8 2006/06/29 16:36:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -59,7 +62,7 @@ class RunAction : public G4UserRunAction
|
||||
void CountProcesses(G4String);
|
||||
|
||||
void AddEdep(G4double val) { edep += val;}
|
||||
void AddCsdaRange (G4double l) { csdaRange += l; csdaRange2 += l*l;};
|
||||
void AddTrueRange (G4double l) { trueRange += l; trueRange2 += l*l;};
|
||||
void AddProjRange (G4double x) { projRange += x; projRange2 += x*x;};
|
||||
void AddTransvDev (G4double y) { transvDev += y; transvDev2 += y*y;};
|
||||
|
||||
@@ -67,7 +70,7 @@ class RunAction : public G4UserRunAction
|
||||
G4int NbOfTraks0, NbOfTraks1;
|
||||
G4int NbOfSteps0, NbOfSteps1;
|
||||
G4double edep;
|
||||
G4double csdaRange, csdaRange2;
|
||||
G4double trueRange, trueRange2;
|
||||
G4double projRange, projRange2;
|
||||
G4double transvDev, transvDev2;
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: StepMax.hh,v 1.2 2006/06/29 16:36:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef StepMax_h
|
||||
#define StepMax_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4Step.hh"
|
||||
|
||||
class StepMaxMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class StepMax : public G4VDiscreteProcess
|
||||
{
|
||||
public:
|
||||
|
||||
StepMax(const G4String& processName = "UserMaxStep");
|
||||
~StepMax();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
void SetMaxStep(G4double);
|
||||
|
||||
G4double GetMaxStep() {return MaxChargedStep;};
|
||||
|
||||
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
|
||||
G4double previousStepSize,
|
||||
G4ForceCondition* condition);
|
||||
|
||||
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
G4double GetMeanFreePath(const G4Track&, G4double,G4ForceCondition*)
|
||||
{return DBL_MAX;};
|
||||
|
||||
private:
|
||||
|
||||
G4double MaxChargedStep;
|
||||
|
||||
StepMaxMessenger* pMess;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:36:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef StepMaxMessenger_h
|
||||
#define StepMaxMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class StepMax;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class StepMaxMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
StepMaxMessenger(StepMax*);
|
||||
~StepMaxMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
StepMax* stepMax;
|
||||
G4UIcmdWithADoubleAndUnit* StepMaxCmd;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: SteppingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: SteppingAction.hh,v 1.4 2006/06/29 16:36:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: SteppingVerbose.hh,v 1.1 2003/10/06 10:02:25 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:36:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
// This class manages the verbose outputs in G4SteppingManager.
|
||||
// It inherits from G4SteppingVerbose.
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TrackingAction.hh,v 1.3 2004/07/23 15:39:34 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: TrackingAction.hh,v 1.4 2006/06/29 16:36:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
# $Id: ionis.mac,v 1.2 2006/01/25 13:56:40 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Ionisation only
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
#
|
||||
/testem/det/setMat Aluminium
|
||||
/testem/det/setSize 50 cm
|
||||
#
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
# prevent any gamma production
|
||||
/testem/phys/setGCut 1 km
|
||||
#
|
||||
# no multiple scattering
|
||||
/process/inactivate msc
|
||||
#
|
||||
# set cut for ionisation
|
||||
/testem/phys/setECut 1 mm
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle e-
|
||||
/gun/energy 200 MeV
|
||||
#
|
||||
/testem/histo/setFileName ionis
|
||||
/testem/histo/setFileType hbook
|
||||
/testem/histo/setHisto 1 100 0 50 cm #track length of primary
|
||||
/testem/histo/setHisto 2 100 0 100 none #nb steps of primary
|
||||
/testem/histo/setHisto 3 200 0 50 mm #step size of primary
|
||||
#
|
||||
/testem/event/printModulo 2000
|
||||
#
|
||||
/run/beamOn 10000
|
||||
+9
-8
@@ -1,9 +1,9 @@
|
||||
# $Id: phot.mac,v 1.4 2004/08/03 11:31:40 maire Exp $
|
||||
# $Id: photon.mac,v 1.1 2006/01/24 18:29:07 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# PhotoElectricEffect; Gamma 1 Mev
|
||||
# Photon beam; 300 keV
|
||||
# For interactive visualisation
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
@@ -13,13 +13,14 @@
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/control/execute vis.mac
|
||||
#
|
||||
/testem/gun/setDefault
|
||||
/gun/particle gamma
|
||||
/gun/energy 1 MeV
|
||||
/testem/gun/rndm 0.8
|
||||
/gun/energy 300 keV
|
||||
# spread beam spot
|
||||
/testem/gun/rndm 0.8
|
||||
#
|
||||
/tracking/verbose 1
|
||||
#
|
||||
#/run/particle/applyCuts
|
||||
#
|
||||
#/run/beamOn 100000
|
||||
/run/beamOn 20
|
||||
@@ -1,8 +1,9 @@
|
||||
# $Id: range.mac,v 1.4 2005/06/01 10:20:12 maire Exp $
|
||||
# $Id: range.mac,v 1.9 2006/01/25 15:28:27 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
#
|
||||
# compute the range of primary particle
|
||||
# compute the csda range of the primary particle
|
||||
# with or without fluctuations
|
||||
#
|
||||
/control/verbose 2
|
||||
/run/verbose 2
|
||||
@@ -11,10 +12,15 @@
|
||||
/testem/det/setSize 10 cm
|
||||
#
|
||||
/testem/phys/addPhysics standard
|
||||
/testem/phys/setCuts 1 km
|
||||
###/testem/phys/addPhysics penelope
|
||||
###/testem/phys/addPhysics livermore
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
# prevent any secondary production
|
||||
/testem/phys/setCuts 1 km
|
||||
#
|
||||
# eliminate straggling
|
||||
/process/inactivate msc
|
||||
/process/eLoss/fluct false
|
||||
#
|
||||
@@ -22,6 +28,10 @@
|
||||
/gun/particle proton
|
||||
/gun/energy 100 MeV
|
||||
#
|
||||
/testem/event/printModulo 1000
|
||||
/testem/histo/setFileName range
|
||||
/testem/histo/setFileType hbook
|
||||
/testem/histo/setHisto 1 150 70 85 mm # csda range
|
||||
#
|
||||
/testem/event/printModulo 2000
|
||||
#
|
||||
/run/beamOn 1000
|
||||
/run/beamOn 20000
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
# $Id: run01.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Eloss only; no fluctuation; e- 1 GeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
###/testem/phys/addPhysics g4v52
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 95 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
/process/eLoss/fluct 0
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 1 GeV
|
||||
/run/beamOn 100
|
||||
@@ -1,31 +0,0 @@
|
||||
# $Id: run02.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Eloss only; glandz fluctuations; e- 1 GeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
#/testem/phys/addPhysics g4v52
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 95 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/integral false
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
/process/eLoss/fluct 1
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 1 GeV
|
||||
/run/beamOn 100
|
||||
@@ -1,26 +0,0 @@
|
||||
# $Id: run03.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Eloss+Muls only; no fluctuation; e- 10 MeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 95 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
/process/eLoss/fluct 0
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 10 MeV
|
||||
/run/beamOn 100
|
||||
@@ -1,30 +0,0 @@
|
||||
# $Id: run04.mac,v 1.7 2003/10/06 10:02:20 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# full Ionisation only; e- 100 MeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
##/testem/phys/addPhysics g4v52
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 100 micrometer
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/integral true
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 100 MeV
|
||||
/run/beamOn 100
|
||||
@@ -1,31 +0,0 @@
|
||||
# $Id: run05.mac,v 1.7 2003/10/17 17:57:49 vnivanch Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# full Brems only; e- 1 GeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
##/testem/phys/addPhysics g4v52
|
||||
/testem/phys/addPhysics standard
|
||||
#
|
||||
/testem/phys/setGCut 2.2 mm
|
||||
/testem/phys/setECut 95 cm
|
||||
/testem/phys/setPCut 95 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate conv
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/integral false
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 1 GeV
|
||||
/run/beamOn 100
|
||||
@@ -1,28 +0,0 @@
|
||||
# $Id: run06.mac,v 1.6 2003/10/06 10:02:20 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Compton + PhotoElectricEffect; Gamma 10 Mev
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
###/testem/phys/addPhysics g4v52
|
||||
/testem/phys/addPhysics standard
|
||||
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 95 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate conv
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/integral false
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle gamma
|
||||
/gun/energy 10 MeV
|
||||
/run/beamOn 1000
|
||||
@@ -1,25 +0,0 @@
|
||||
# $Id: run07.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Gamma conversion and e+ annihilation; gamma 100 MeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 30 mm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/inactivate phot
|
||||
/process/inactivate compt
|
||||
/process/inactivate msc
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle gamma
|
||||
/gun/energy 100 MeV
|
||||
/run/beamOn 1000
|
||||
@@ -1,21 +0,0 @@
|
||||
# $Id: run08.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# electron 100 MeV; all processes
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 2.2 mm
|
||||
/testem/phys/setECut 6.05 micrometer
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 100 MeV
|
||||
/run/beamOn 100
|
||||
@@ -1,22 +0,0 @@
|
||||
# $Id: run09.mac,v 1.5 2002/12/11 14:19:18 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# electron 1 GeV; all processes
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 2.2 mm
|
||||
/testem/phys/setECut 6.05 micrometer
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/process/eLoss/StepFunction 0.183 170 micrometer
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 1 GeV
|
||||
/testem/event/printModulo 10
|
||||
/run/beamOn 100
|
||||
@@ -1,17 +0,0 @@
|
||||
# $Id: run10.mac,v 1.2 2002/12/11 14:19:19 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# electron 10 GeV; all processes
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 10 GeV
|
||||
/testem/event/printModulo 10
|
||||
/run/beamOn 100
|
||||
@@ -1,19 +0,0 @@
|
||||
# $Id: run11.mac,v 1.5 2002/12/11 14:19:19 maire Exp $
|
||||
#
|
||||
# Macro file for "TestEm1.cc"
|
||||
# (can be run in batch, without graphic)
|
||||
#
|
||||
# Eloss only + muls; e- 1 GeV
|
||||
#
|
||||
/control/verbose 2
|
||||
#
|
||||
/testem/phys/setGCut 95 cm
|
||||
/testem/phys/setECut 17 cm
|
||||
#
|
||||
/run/initialize
|
||||
#
|
||||
/run/verbose 2
|
||||
#
|
||||
/gun/particle e-
|
||||
/gun/energy 1 GeV
|
||||
/run/beamOn 1000
|
||||
@@ -1,29 +1,32 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
//
|
||||
// $Id: DetectorConstruction.cc,v 1.5 2005/06/01 10:20:12 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: DetectorConstruction.cc,v 1.6 2006/06/29 16:36:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: DetectorMessenger.cc,v 1.2 2004/09/15 13:17:19 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:36:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: EventAction.cc,v 1.3 2004/03/15 11:09:36 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: EventAction.cc,v 1.4 2006/06/29 16:36:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: EventActionMessenger.cc,v 1.2 2004/09/15 13:17:19 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:37:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoManager.cc,v 1.6 2005/06/01 10:20:12 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: HistoManager.cc,v 1.9 2006/06/29 16:37:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -162,9 +165,9 @@ void HistoManager::SetHisto(G4int ih,
|
||||
const G4String id[] = { "0", "1", "2", "3" };
|
||||
const G4String title[] =
|
||||
{ "dummy", //0
|
||||
"total track length of a charged particle", //1
|
||||
"nb steps per track (charged particles)", //2
|
||||
"step length of charged particles" //3
|
||||
"total track length of primary particle", //1
|
||||
"nb steps of primary particle", //2
|
||||
"step size of primary particle" //3
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HistoMessenger.cc,v 1.4 2005/11/14 14:14:38 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: HistoMessenger.cc,v 1.5 2006/06/29 16:37:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * License and 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 *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: PhysListEmG4v52.cc,v 1.2 2005/06/01 10:20:12 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
// $Id: PhysListEmG4v52.cc,v 1.3 2006/06/29 16:37:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-01 $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user