Import Geant4 5.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 10:15:15 +02:00
parent 37fff30d2e
commit fbd4999cf7
4396 changed files with 56662 additions and 52446 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:39 gunter Exp $
# $Id: GNUmakefile,v 1.2 2003/04/11 10:49:49 gcosmo Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -9,7 +9,7 @@ endif
include $(G4INSTALL)/config/architecture.gmk
SUBDIRS = N01 N02 N03 N04 N05 N06
SUBDIRS = N01 N02 N03 N04 N05 N06 N07
.PHONY : all clean clean_libs
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.6 2002/07/03 07:50:34 gcosmo Exp $
$Id: History,v 1.7 2003/03/25 14:40:07 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,9 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
March 25, 2003 mma (exampleN01-V05-00-00)
- Use G4PVPlacement constructor in logical mother, even for the world.
July 03, 2002 Makoto Asai (exampleN01-V04-01-00)
- Correction to README.
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: exampleN01.cc,v 1.4 2002/01/09 17:23:47 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// --------------------------------------------------------------
+3 -3
View File
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
Start Run processing.
@@ -193,5 +193,5 @@ Terminate current event processing.
Run terminated.
Run Summary
Number of events processed : 3
User=0.02s Real=0.05s Sys=0.03s
User=0.04s Real=0.06s Sys=0.02s
G4 kernel has come to Quit state.
@@ -22,7 +22,7 @@
//
//
// $Id: ExN01DetectorConstruction.hh,v 1.5 2002/01/09 17:23:48 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef ExN01DetectorConstruction_H
@@ -22,7 +22,7 @@
//
//
// $Id: ExN01PhysicsList.hh,v 1.5 2002/01/09 17:23:48 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN01PrimaryGeneratorAction.hh,v 1.4 2002/01/09 17:23:48 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#ifndef ExN01PrimaryGeneratorAction_h
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN01DetectorConstruction.cc,v 1.6 2002/04/26 13:49:36 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN01DetectorConstruction.cc,v 1.7 2003/03/25 14:40:07 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "ExN01DetectorConstruction.hh"
@@ -80,8 +80,8 @@ G4VPhysicalVolume* ExN01DetectorConstruction::Construct()
= new G4Box("expHall_box",expHall_x,expHall_y,expHall_z);
experimentalHall_log = new G4LogicalVolume(experimentalHall_box,
Ar,"expHall_log",0,0,0);
experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(),"expHall",
experimentalHall_log,0,false,0);
experimentalHall_phys = new G4PVPlacement(0,G4ThreeVector(),
experimentalHall_log,"expHall",0,false,0);
//------------------------------ a tracker tube
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN01PhysicsList.cc,v 1.5 2002/01/09 17:23:48 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN01PrimaryGeneratorAction.cc,v 1.5 2002/05/14 01:50:31 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
#include "ExN01PrimaryGeneratorAction.hh"
+7 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.24 2001/11/27 15:52:53 maire Exp $
$Id: History,v 1.28 2003/03/25 16:28:22 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,12 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
25-03-03 mma (exampleN02-V05-00-02)
- Use G4PVPlacement and G4PVParametrised constructors in logical mother.
11-02-03 mma (exampleN02-V05-00-00)
- a blank in SteppingVerbose
27-11-01 mma (exampleN02-V03-02-04)
- vis.mac: /vis/viewer/set/viewpointThetaPhi
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: exampleN02.cc,v 1.8 2002/01/09 17:23:49 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02ChamberParameterisation.hh,v 1.6 2002/01/09 17:24:08 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// A parameterisation that describes a series of boxes along Z
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02DetectorConstruction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN02DetectorMessenger.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN02DetectorMessenger.hh,v 1.7 2002/12/16 16:31:43 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -51,7 +51,8 @@ class ExN02DetectorMessenger: public G4UImessenger
private:
ExN02DetectorConstruction* myDetector;
G4UIdirectory* mydetDir;
G4UIdirectory* N02Dir;
G4UIdirectory* detDir;
G4UIcmdWithAString* TargMatCmd;
G4UIcmdWithAString* ChamMatCmd;
G4UIcmdWithADoubleAndUnit* FieldCmd;
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02EventAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02MagneticField.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// A class for control of the Magnetic Field of the detector.
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02PhysicsList.hh,v 1.10 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02RunAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02SteppingAction.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02SteppingVerbose.hh,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02TrackerHit.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02TrackerSD.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02VisManager.hh,v 1.6 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: run2.mac,v 1.1 2000/12/04 16:24:04 maire Exp $
# $Id: run2.mac,v 1.2 2002/12/16 16:31:42 maire Exp $
#
# Macro file for "exampleN02.cc"
#
@@ -17,7 +17,7 @@
# set a magnetic field
# 1 events; print the hits
#
/mydet/setField 2 tesla
/N02/det/setField 2 tesla
/tracking/verbose 0
/hits/verbose 1
/run/beamOn 1
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02ChamberParameterisation.cc,v 1.7 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN02DetectorConstruction.cc,v 1.11 2002/01/09 17:24:09 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN02DetectorConstruction.cc,v 1.12 2003/03/25 16:23:24 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -140,8 +140,8 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
//
physiWorld = new G4PVPlacement(0, // no rotation
G4ThreeVector(), // at (0,0,0)
"World", // its name
logicWorld, // its logical volume
"World", // its name
0, // its mother volume
false, // no boolean operations
0); // no field specific to volume
@@ -156,9 +156,9 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
logicTarget = new G4LogicalVolume(solidTarget,TargetMater,"Target",0,0,0);
physiTarget = new G4PVPlacement(0, // no rotation
positionTarget, // at (x,y,z)
logicTarget, // its logical volume
"Target", // its name
logicTarget, // its logical volume
physiWorld, // its mother volume
logicWorld, // its mother volume
false, // no boolean operations
0); // no particular field
@@ -175,9 +175,9 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
logicTracker = new G4LogicalVolume(solidTracker , Air, "Tracker",0,0,0);
physiTracker = new G4PVPlacement(0, // no rotation
positionTracker, // at (x,y,z)
logicTracker, // its logical volume
"Tracker", // its name
logicTracker, // its logical volume
physiWorld, // its mother volume
logicWorld, // its mother volume
false, // no boolean operations
0); // no particular field
@@ -208,7 +208,7 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct()
physiChamber = new G4PVParameterised(
"Chamber", // their name
logicChamber, // their logical volume
physiTracker, // Mother physical volume
logicTracker, // Mother logical volume
kZAxis, // Are placed along this axis
NbOfChambers, // Number of chambers
chamberParam); // The parametrisation
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN02DetectorMessenger.cc,v 1.8 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN02DetectorMessenger.cc,v 1.9 2002/12/16 16:31:43 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -40,21 +40,23 @@
ExN02DetectorMessenger::ExN02DetectorMessenger(ExN02DetectorConstruction* myDet)
:myDetector(myDet)
{
mydetDir = new G4UIdirectory("/mydet/");
mydetDir->SetGuidance("ExN02 detector control.");
N02Dir = new G4UIdirectory("/N02/");
N02Dir->SetGuidance("UI commands specific to this example.");
TargMatCmd = new G4UIcmdWithAString("/mydet/setTargetMate",this);
detDir = new G4UIdirectory("/N02/det/");
detDir->SetGuidance("detector control.");
TargMatCmd = new G4UIcmdWithAString("/N02/det/setTargetMate",this);
TargMatCmd->SetGuidance("Select Material of the Target.");
TargMatCmd->SetParameterName("choice",false);
TargMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
ChamMatCmd = new G4UIcmdWithAString("/mydet/setChamberMate",this);
ChamMatCmd = new G4UIcmdWithAString("/N02/det/setChamberMate",this);
ChamMatCmd->SetGuidance("Select Material of the Target.");
ChamMatCmd->SetParameterName("choice",false);
ChamMatCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
FieldCmd = new G4UIcmdWithADoubleAndUnit("/mydet/setField",this);
FieldCmd = new G4UIcmdWithADoubleAndUnit("/N02/det/setField",this);
FieldCmd->SetGuidance("Define magnetic field.");
FieldCmd->SetGuidance("Magnetic field will be in X direction.");
FieldCmd->SetParameterName("Bx",false);
@@ -70,7 +72,8 @@ ExN02DetectorMessenger::~ExN02DetectorMessenger()
delete TargMatCmd;
delete ChamMatCmd;
delete FieldCmd;
delete mydetDir;
delete detDir;
delete N02Dir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02EventAction.cc,v 1.8 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02MagneticField.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// User Field class implementation.
//
+27 -93
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN02PhysicsList.cc,v 1.13 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN02PhysicsList.cc,v 1.14 2003/03/25 16:23:24 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -171,105 +171,39 @@ void ExN02PhysicsList::ConstructEM()
G4String particleName = particle->GetParticleName();
if (particleName == "gamma") {
// gamma
pmanager->AddDiscreteProcess(new G4GammaConversion());
pmanager->AddDiscreteProcess(new G4ComptonScattering());
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect());
// gamma
pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
pmanager->AddDiscreteProcess(new G4ComptonScattering);
pmanager->AddDiscreteProcess(new G4GammaConversion);
} else if (particleName == "e-") {
//electron
G4VProcess* theeminusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeminusIonisation = new G4eIonisation();
G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung();
//
// add processes
pmanager->AddProcess(theeminusMultipleScattering);
pmanager->AddProcess(theeminusIonisation);
pmanager->AddProcess(theeminusBremsstrahlung);
//
// set ordering for AlongStepDoIt
pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1);
pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1);
pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2);
pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3);
//electron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
} else if (particleName == "e+") {
//positron
G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeplusIonisation = new G4eIonisation();
G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung();
G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation();
//
// add processes
pmanager->AddProcess(theeplusMultipleScattering);
pmanager->AddProcess(theeplusIonisation);
pmanager->AddProcess(theeplusBremsstrahlung);
pmanager->AddProcess(theeplusAnnihilation);
//
// set ordering for AtRestDoIt
pmanager->SetProcessOrderingToFirst(theeplusAnnihilation, idxAtRest);
//
// set ordering for AlongStepDoIt
pmanager->SetProcessOrdering(theeplusMultipleScattering, idxAlongStep,1);
pmanager->SetProcessOrdering(theeplusIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pmanager->SetProcessOrdering(theeplusMultipleScattering, idxPostStep,1);
pmanager->SetProcessOrdering(theeplusIonisation, idxPostStep,2);
pmanager->SetProcessOrdering(theeplusBremsstrahlung, idxPostStep,3);
pmanager->SetProcessOrdering(theeplusAnnihilation, idxPostStep,4);
//positron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
G4VProcess* aMultipleScattering = new G4MultipleScattering();
G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* aPairProduction = new G4MuPairProduction();
G4VProcess* anIonisation = new G4MuIonisation();
//
// add processes
pmanager->AddProcess(anIonisation);
pmanager->AddProcess(aMultipleScattering);
pmanager->AddProcess(aBremsstrahlung);
pmanager->AddProcess(aPairProduction);
//
// set ordering for AlongStepDoIt
pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
pmanager->SetProcessOrdering(anIonisation, idxPostStep,2);
pmanager->SetProcessOrdering(aBremsstrahlung, idxPostStep,3);
pmanager->SetProcessOrdering(aPairProduction, idxPostStep,4);
//muon
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1,-1,3);
pmanager->AddProcess(new G4MuPairProduction, -1,-1,4);
} else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
// all others charged particles except geantino
G4VProcess* aMultipleScattering = new G4MultipleScattering();
G4VProcess* anIonisation = new G4hIonisation();
////G4VProcess* theUserCuts = new G4UserSpecialCuts();
//
// add processes
pmanager->AddProcess(anIonisation);
pmanager->AddProcess(aMultipleScattering);
////pmanager->AddProcess(theUserCuts);
//
// set ordering for AlongStepDoIt
pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1);
pmanager->SetProcessOrdering(anIonisation, idxAlongStep,2);
//
// set ordering for PostStepDoIt
pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1);
pmanager->SetProcessOrdering(anIonisation, idxPostStep,2);
////pmanager->SetProcessOrdering(theUserCuts, idxPostStep,3);
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4hIonisation, -1, 2,2);
///pmanager->AddProcess(new G4hUserSpecialCuts, -1,-1,3);
}
}
}
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02PrimaryGeneratorAction.cc,v 1.6 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02RunAction.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02SteppingAction.cc,v 1.8 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN02SteppingVerbose.cc,v 1.9 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN02SteppingVerbose.cc,v 1.10 2003/02/10 18:39:03 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,7 +73,8 @@ void ExN02SteppingVerbose::StepInfo()
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
@@ -161,7 +162,8 @@ G4int prec = G4cout.precision(3);
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02TrackerHit.cc,v 1.7 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02TrackerSD.cc,v 1.6 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN02VisManager.cc,v 1.9 2002/11/13 19:14:31 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.
+24 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.50 2002/06/25 10:19:41 ribon Exp $
$Id: History,v 1.58 2003/03/25 17:13:07 maire Exp $
--------------------------------------------------
=========================================================
@@ -14,6 +14,29 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
25-03-03 mma (exampleN03-V05-00-05)
- Use G4PVPlacement and G4PVReplica constructors in logical mother.
20-02-03 V.Ivant (exampleN03-V05-00-04)
- Migrade to cut per region
11-02-03 mma (exampleN03-V05-00-03)
- DetectorConstruction : change names of volumes
30-01-03 mma (exampleN03-V05-00-02)
- save random number seed. In README explain the rndm handling.
commit rndmSeed.mac to show how to save and reset rndm seed
18-12-02 mma (exampleN03-V05-00-01)
- code for smooth trajectory put in DetectorContruction::SetMagField()
and TrackingAction::PreUserTrackingAction()
16-12-02 mma (exampleN03-V05-00-00)
- UI directory /N03/
19-11-02 jacek
- introducing smooth trajectory display
25-06-02 ribon (exampleN03-V04-00-02)
- fixed paths to macros in visTutor/gui.mac.
+30 -3
View File
@@ -1,4 +1,4 @@
$Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
$Id: README,v 1.10 2003/01/30 14:14:17 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -117,7 +117,34 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
As a homework try to visualize a gamma conversion alone,
or the effect of the multiple scattering.
6- USER INTERFACES
6- RANDOM NUMBERS HANDLING
CLHEP provides several random number engines. In this example the Ranecu
engine is choosen at beginning of the main (exampleN03.cc).
By default, G4RunManager does not save the rndm seed.
To do so the user must set in BeginOfRunAction:
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
Then the rndm seed is systematically saved at beginning of run
(currentRun.rndm) and beginning of event (currentEvent.rndm)
Therefore, in case of abnormal end, the seed of the last event processed
is available in currentEvent.rndm
Even in case of normal run processing, the user may wish to preserve the
rndm seed of selected events. At any time in the event, put the
following statement:
if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
currentEvent.rndm will be copied to runXXevntYY.rndm
(see ExN03SteppingAction::UserSteppingAction() )
To restart a run from a given rndm seed, use the UI command :
/random/resetEngineFrom fileName
The macro rndmSeed.mac shows how to save and reset the random number
seed between runs, with UI commands.
7- USER INTERFACES
The default command interface, called G4UIterminal, is done via
standart cin/G4cout.
@@ -129,7 +156,7 @@ $Id: README,v 1.8 2001/11/27 11:10:31 maire Exp $
2- exampleN03.cc has been compiled with G4UI_USE_XM.
7- HOW TO START ?
8- HOW TO START ?
- compile and link to generate an executable
% cd N03
+10 -10
View File
@@ -21,17 +21,12 @@
// ********************************************************************
//
//
// $Id: exampleN03.cc,v 1.16 2002/01/09 17:24:10 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: exampleN03.cc,v 1.18 2002/12/18 15:17:55 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// --------------------------------------------------------------
// GEANT 4 - exampleN03
//
// --------------------------------------------------------------
// Comments
//
// --------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4RunManager.hh"
#include "G4UImanager.hh"
@@ -54,8 +49,11 @@
#include "ExN03RunAction.hh"
#include "ExN03EventAction.hh"
#include "ExN03SteppingAction.hh"
#include "ExN03TrackingAction.hh"
#include "ExN03SteppingVerbose.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
// choose the Random engine
@@ -98,6 +96,7 @@ int main(int argc,char** argv) {
runManager->SetUserAction(new ExN03PrimaryGeneratorAction(detector));
runManager->SetUserAction(new ExN03RunAction);
runManager->SetUserAction(new ExN03EventAction);
runManager->SetUserAction(new ExN03TrackingAction);
runManager->SetUserAction(new ExN03SteppingAction);
//Initialize G4 kernel
@@ -133,3 +132,4 @@ int main(int argc,char** argv) {
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+7 -7
View File
@@ -15,13 +15,13 @@
/process/activate msc
#
# change detector parameter
/calor/setAbsMat Aluminium
/calor/setGapMat Aerogel
/calor/setAbsThick 2. cm
/calor/setGapThick 5. cm
/calor/setNbOfLayers 30
/calor/setSizeYZ 1.5 m
/calor/update
/N03/det/setAbsMat Aluminium
/N03/det/setGapMat Aerogel
/N03/det/setAbsThick 2. cm
/N03/det/setGapThick 5. cm
/N03/det/setNbOfLayers 30
/N03/det/setSizeYZ 1.5 m
/N03/det/update
/gun/particle gamma
/gun/energy 500 MeV
/run/beamOn 1
+8 -8
View File
@@ -15,16 +15,16 @@
/process/activate msc
#
# change detector parameter
/calor/setAbsMat Aluminium
/calor/setGapMat Aerogel
/calor/setAbsThick 2. cm
/calor/setGapThick 5. cm
/calor/setNbOfLayers 30
/calor/setSizeYZ 1.5 m
/calor/update
/N03/det/setAbsMat Aluminium
/N03/det/setGapMat Aerogel
/N03/det/setAbsThick 2. cm
/N03/det/setGapThick 5. cm
/N03/det/setNbOfLayers 30
/N03/det/setSizeYZ 1.5 m
/N03/det/update
#
/gun/particle gamma
/gun/energy 500 MeV
/event/printModulo 500
/N03/event/printModulo 500
/run/beamOn 5000
exit
+104 -43
View File
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
Visualization Manager instantiating...
@@ -18,7 +18,7 @@ Current available graphics systems are:
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
***** Table : Nb of materials = 12 *****
***** Table : Nb of materials = 13 *****
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
@@ -37,6 +37,11 @@ Current available graphics systems are:
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 91.45 % Abundance 47.37 %
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 8.55 % Abundance 52.63 %
Material: Mylar density: 1.397 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.599 cm
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 62.49 % Abundance 45.45 %
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 4.20 % Abundance 36.36 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 33.30 % Abundance 18.18 %
Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm
---> Element: Silicon Si Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 46.75 % Abundance 33.33 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 53.25 % Abundance 66.67 %
@@ -90,7 +95,8 @@ msc: Tables of transport mean free paths.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
@@ -106,6 +112,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -129,35 +136,32 @@ MuBrems: theoretical cross section
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
============= The cut Energy ==============================
gamma e-
Cut in range
Aluminium 1 mm 1 mm
liquidArgon 1 mm 1 mm
Lead 1 mm 1 mm
Water 1 mm 1 mm
Scintillator 1 mm 1 mm
quartz 1 mm 1 mm
Air 1 mm 1 mm
Aerogel 1 mm 1 mm
CarbonicGas 1 mm 1 mm
WaterSteam 1 mm 1 mm
Galactic 1 mm 1 mm
Beam 1 mm 1 mm
Cut in energy
Aluminium 6.89 keV 597 keV
liquidArgon 6.18 keV 343 keV
Lead 101 keV 1.38 MeV
Water 2.9 keV 347 keV
Scintillator 2.37 keV 356 keV
quartz 5.52 keV 534 keV
Air 990 eV 990 eV
Aerogel 1.71 keV 119 keV
CarbonicGas 990 eV 36.5 keV
WaterSteam 990 eV 990 eV
Galactic 990 eV 990 eV
Beam 990 eV 990 eV
===================================================
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Galactic
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes recalculation needed : No
Material : Lead
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 100.511 keV e- 1.37814 MeV e+ 1.28002 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : Yes recalculation needed : No
Material : liquidArgon
Range cuts : gamma 1 mm e- 1 mm e+ 1 mm
Energy thresholds : gamma 6.17835 keV e- 342.891 keV e+ 334.551 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
---> Begin of event: 0
@@ -167,8 +171,8 @@ Cut in energy
Current couple of seeds = 9876, 54321
----------------------------------------
---> End of event: 0
Absorber: total energy: 271.238 MeV total track length: 18.8504 cm
Gap: total energy: 8.40916 MeV total track length: 4.16209 cm
Absorber: total energy: 280.969 MeV total track length: 19.1263 cm
Gap: total energy: 15.6581 MeV total track length: 7.72188 cm
9 hits are stored in ExN03CalorHitsCollection.
Transportation, hIoni, msc, eIoni
@@ -181,13 +185,13 @@ Cut in energy
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 594012148, 523050693
Current couple of seeds = 1882600825, 646183068
----------------------------------------
---> End of event: 0
Absorber: total energy: 266.99 MeV total track length: 18.6743 cm
Gap: total energy: 20.1124 MeV total track length: 9.65901 cm
Absorber: total energy: 279.503 MeV total track length: 19.5074 cm
Gap: total energy: 18.0413 MeV total track length: 8.92458 cm
10 hits are stored in ExN03CalorHitsCollection.
9 hits are stored in ExN03CalorHitsCollection.
------------------------------------------------------------
---> The calorimeter is 10 layers of: [ 10mm of Aluminium + 5mm of liquidArgon ]
@@ -200,18 +204,75 @@ Cut in energy
------------------------------------------------------------
---> The calorimeter is 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ]
------------------------------------------------------------
conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z.
e+e- energies according Bethe-Heitler
PhysicsTables from 1.022 MeV to 100 GeV in 100 bins.
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula(annihilation into 2 photons).
gamma energies sampled according Heitler
PhysicsTables from 10 keV to 10 TeV in 100 bins.
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuBrems: theoretical cross section
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
### Run 2 start.
---> Begin of event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 696574897, 750246800
Current couple of seeds = 802021539, 124830767
----------------------------------------
---> End of event: 0
Absorber: total energy: 408.79 MeV total track length: 96.801 cm
Gap: total energy: 68.9387 MeV total track length: 1.95423 m
Absorber: total energy: 373.452 MeV total track length: 90.026 cm
Gap: total energy: 77.4747 MeV total track length: 2.1498 m
21 hits are stored in ExN03CalorHitsCollection.
28 hits are stored in ExN03CalorHitsCollection.
Graphics systems deleted.
Visualization Manager deleting...
+8 -8
View File
@@ -1,4 +1,4 @@
# $Id: exo1.mac,v 1.1 2002/02/14 14:35:01 maire Exp $
# $Id: exo1.mac,v 1.2 2002/12/16 16:37:25 maire Exp $
#
# Macro file for "exampleN03.cc"
#
@@ -8,17 +8,17 @@
# Idle> /control/execute exo1.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Aluminium
/calor/setAbsThick 10 cm
/N03/det/setAbsMat Aluminium
/N03/det/setAbsThick 10 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 10 cm
/N03/det/setSizeYZ 10 cm
#
/calor/update
/N03/det/update
#
/vis/viewer/zoom 1.3
#
+8 -8
View File
@@ -1,4 +1,4 @@
# $Id: exo2.mac,v 1.1 2002/02/14 14:35:01 maire Exp $
# $Id: exo2.mac,v 1.2 2002/12/16 16:37:25 maire Exp $
#
# Macro file for "exampleN03.cc"
#
@@ -8,17 +8,17 @@
# Idle> /control/execute exo2.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Aluminium
/calor/setAbsThick 10 cm
/N03/det/setAbsMat Aluminium
/N03/det/setAbsThick 10 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 10 cm
/N03/det/setSizeYZ 10 cm
#
/calor/update
/N03/det/update
#
/vis/viewer/zoom 1.3
#
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorHit.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorimeterSD.hh,v 1.4 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03DetectorConstruction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -55,7 +55,8 @@ class ExN03DetectorMessenger: public G4UImessenger
private:
ExN03DetectorConstruction* ExN03Detector;
G4UIdirectory* ExN03detDir;
G4UIdirectory* N03Dir;
G4UIdirectory* detDir;
G4UIcmdWithAString* AbsMaterCmd;
G4UIcmdWithAString* GapMaterCmd;
G4UIcmdWithADoubleAndUnit* AbsThickCmd;
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03EventAction.hh,v 1.7 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventActionMessenger.hh,v 1.6 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventActionMessenger.hh,v 1.7 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -36,6 +36,7 @@
#include "G4UImessenger.hh"
class ExN03EventAction;
class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
@@ -50,8 +51,9 @@ class ExN03EventActionMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03EventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
ExN03EventAction* eventAction;
G4UIdirectory* eventDir;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
};
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PhysicsList.hh,v 1.10 2002/03/08 10:48:30 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PrimaryGeneratorAction.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.5 2002/01/09 17:24:11 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.6 2002/12/16 16:37:26 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -36,6 +36,7 @@
#include "globals.hh"
class ExN03PrimaryGeneratorAction;
class G4UIdirectory;
class G4UIcmdWithAString;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -49,7 +50,8 @@ class ExN03PrimaryGeneratorMessenger: public G4UImessenger
void SetNewValue(G4UIcommand*, G4String);
private:
ExN03PrimaryGeneratorAction* ExN03Action;
ExN03PrimaryGeneratorAction* ExN03Action;
G4UIdirectory* gunDir;
G4UIcmdWithAString* RndmCmd;
};
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03RunAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03SteppingAction.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03SteppingVerbose.hh,v 1.7 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,54 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: ExN03TrackingAction.hh,v 1.2 2002/12/18 15:17:56 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef ExN03TrackingAction_h
#define ExN03TrackingAction_h
#include "G4UserTrackingAction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4Track;
class ExN03TrackingAction : public G4UserTrackingAction
{
public:
ExN03TrackingAction() {;}
~ExN03TrackingAction() {;}
void PreUserTrackingAction (const G4Track* aTrack);
void PostUserTrackingAction(const G4Track* aTrack) {;}
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03VisManager.hh,v 1.6 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+8 -8
View File
@@ -7,18 +7,18 @@
# Idle> /control/execute newgeom.mac
#
#
/calor/setNbOfLayers 1
/N03/det/setNbOfLayers 1
#
/calor/setAbsMat Water
/calor/setAbsThick 40 cm
/N03/det/setAbsMat Water
/N03/det/setAbsThick 40 cm
#
/calor/setGapMat Air
/calor/setGapThick 0 cm
/N03/det/setGapMat Air
/N03/det/setGapThick 0 cm
#
/calor/setSizeYZ 40 cm
/N03/det/setSizeYZ 40 cm
#
/calor/update
/N03/det/update
#
/calor/setField 3 tesla
/N03/det/setField 3 tesla
#
/vis/viewer/zoom 1.3
+34
View File
@@ -0,0 +1,34 @@
# $Id: rndmSeed.mac,v 1.1 2003/01/27 17:55:47 maire Exp $
#
# This macro illustrates how to save and reset the random number seed
#
# inform the RunManager to systematically save the seed
#
/random/setSavingFlag 1
#
# run 0
#
/run/beamOn 7
#look at what is saved
/control/shell ls
#
# run 1
#
/run/beamOn
#save the seed of this current run
/random/saveThisRun
/control/shell ls
#
# run 2
#
/run/beamOn 4
#
# restart run 2
#
/random/resetEngineFrom currentRun.rndm
/run/beamOn 4
#
# restart run 1
#
/random/resetEngineFrom run1.rndm
/run/beamOn
+3 -3
View File
@@ -1,4 +1,4 @@
# $Id: run2.mac,v 1.5 2000/11/21 10:59:43 maire Exp $
# $Id: run2.mac,v 1.6 2002/12/16 16:37:25 maire Exp $
#
# Macro file of "exampleN03.cc"
#
@@ -14,8 +14,8 @@
#
# shoot randomly 20 events
#
/event/printModulo 5
/gun/random on
/N03/event/printModulo 5
/N03/gun/rndm on
/run/beamOn 20
#
# activate/inactivate physic processes
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorHit.cc,v 1.5 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03CalorimeterSD.cc,v 1.6 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorConstruction.cc,v 1.11 2002/01/09 17:24:12 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorConstruction.cc,v 1.15 2003/03/25 17:13:08 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -39,9 +39,11 @@
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4PVReplica.hh"
#include "G4UniformMagField.hh"
#include "G4FieldManager.hh"
#include "G4UniformMagField.hh"
#include "G4TransportationManager.hh"
#include "G4IdentityTrajectoryFilter.hh"
#include "G4PropagatorInField.hh"
#include "G4SDManager.hh"
#include "G4RunManager.hh"
@@ -158,6 +160,12 @@ G4Material* Sci = new G4Material(name="Scintillator", density, ncomponents=2);
Sci->AddElement(C, natoms=9);
Sci->AddElement(H, natoms=10);
density = 1.397*g/cm3;
G4Material* Myl = new G4Material(name="Mylar", density, ncomponents=3);
Myl->AddElement(C, natoms=10);
Myl->AddElement(H, natoms= 8);
Myl->AddElement(O, natoms= 4);
density = 2.200*g/cm3;
G4Material* SiO2 = new G4Material(name="quartz", density, ncomponents=2);
SiO2->AddElement(Si, natoms=1);
@@ -245,8 +253,8 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
physiWorld = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicWorld, //its logical volume
"World", //its name
logicWorld, //its logical volume
0, //its mother volume
false, //no boolean operation
0); //copy number
@@ -267,9 +275,9 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
physiCalor = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicCalor, //its logical volume
"Calorimeter", //its name
logicCalor, //its logical volume
physiWorld, //its mother volume
logicWorld, //its mother volume
false, //no boolean operation
0); //copy number
@@ -285,16 +293,16 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
if (NbOfLayers > 1)
physiLayer = new G4PVReplica("Layer", //its name
logicLayer, //its logical volume
physiCalor, //its mother
logicCalor, //its mother
kXAxis, //axis of replication
NbOfLayers, //number of replica
LayerThickness); //witdth of replica
else
physiLayer = new G4PVPlacement(0, //no rotation
G4ThreeVector(), //at (0,0,0)
logicLayer, //its logical volume
"Layer", //its name
logicLayer, //its logical volume
physiCalor, //its mother volume
logicCalor, //its mother volume
false, //no boolean operation
0); //copy number
}
@@ -310,13 +318,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid
AbsorberMaterial, //its material
"Absorber"); //its name
AbsorberMaterial->GetName()); //name
physiAbsorber = new G4PVPlacement(0, //no rotation
G4ThreeVector(-GapThickness/2,0.,0.), //its position
"Absorber", //its name
logicAbsorber, //its logical volume
physiLayer, //its mother
logicAbsorber, //its logical volume
AbsorberMaterial->GetName(), //its name
logicLayer, //its mother
false, //no boulean operat
0); //copy number
@@ -333,13 +341,13 @@ G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter()
logicGap = new G4LogicalVolume(solidGap,
GapMaterial,
"Gap");
GapMaterial->GetName());
physiGap = new G4PVPlacement(0, //no rotation
G4ThreeVector(AbsorberThickness/2,0.,0.), //its position
"Gap", //its name
logicGap, //its logical volume
physiLayer, //its mother
logicGap, //its logical volume
GapMaterial->GetName(), //its name
logicLayer, //its mother
false, //no boulean operat
0); //copy number
}
@@ -457,6 +465,8 @@ void ExN03DetectorConstruction::SetMagField(G4double fieldValue)
{ magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue));
fieldMgr->SetDetectorField(magField);
fieldMgr->CreateChordFinder(magField);
G4TransportationManager::GetTransportationManager()->GetPropagatorInField()
->SetTrajectoryFilter(new G4IdentityTrajectoryFilter);
} else {
magField = 0;
fieldMgr->SetDetectorField(magField);
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03DetectorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03DetectorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -44,53 +44,56 @@ ExN03DetectorMessenger::ExN03DetectorMessenger(
ExN03DetectorConstruction* ExN03Det)
:ExN03Detector(ExN03Det)
{
ExN03detDir = new G4UIdirectory("/calor/");
ExN03detDir->SetGuidance("ExN03 detector control.");
AbsMaterCmd = new G4UIcmdWithAString("/calor/setAbsMat",this);
N03Dir = new G4UIdirectory("/N03/");
N03Dir->SetGuidance("UI commands of this example");
detDir = new G4UIdirectory("/N03/det/");
detDir->SetGuidance("detector control");
AbsMaterCmd = new G4UIcmdWithAString("/N03/det/setAbsMat",this);
AbsMaterCmd->SetGuidance("Select Material of the Absorber.");
AbsMaterCmd->SetParameterName("choice",false);
AbsMaterCmd->AvailableForStates(G4State_Idle);
GapMaterCmd = new G4UIcmdWithAString("/calor/setGapMat",this);
GapMaterCmd = new G4UIcmdWithAString("/N03/det/setGapMat",this);
GapMaterCmd->SetGuidance("Select Material of the Gap.");
GapMaterCmd->SetParameterName("choice",false);
GapMaterCmd->AvailableForStates(G4State_Idle);
AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setAbsThick",this);
AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setAbsThick",this);
AbsThickCmd->SetGuidance("Set Thickness of the Absorber");
AbsThickCmd->SetParameterName("Size",false);
AbsThickCmd->SetRange("Size>=0.");
AbsThickCmd->SetUnitCategory("Length");
AbsThickCmd->AvailableForStates(G4State_Idle);
GapThickCmd = new G4UIcmdWithADoubleAndUnit("/calor/setGapThick",this);
GapThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setGapThick",this);
GapThickCmd->SetGuidance("Set Thickness of the Gap");
GapThickCmd->SetParameterName("Size",false);
GapThickCmd->SetRange("Size>=0.");
GapThickCmd->SetUnitCategory("Length");
GapThickCmd->AvailableForStates(G4State_Idle);
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/calor/setSizeYZ",this);
SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setSizeYZ",this);
SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter");
SizeYZCmd->SetParameterName("Size",false);
SizeYZCmd->SetRange("Size>0.");
SizeYZCmd->SetUnitCategory("Length");
SizeYZCmd->AvailableForStates(G4State_Idle);
NbLayersCmd = new G4UIcmdWithAnInteger("/calor/setNbOfLayers",this);
NbLayersCmd = new G4UIcmdWithAnInteger("/N03/det/setNbOfLayers",this);
NbLayersCmd->SetGuidance("Set number of layers.");
NbLayersCmd->SetParameterName("NbLayers",false);
NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500");
NbLayersCmd->AvailableForStates(G4State_Idle);
UpdateCmd = new G4UIcmdWithoutParameter("/calor/update",this);
UpdateCmd = new G4UIcmdWithoutParameter("/N03/det/update",this);
UpdateCmd->SetGuidance("Update calorimeter geometry.");
UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
UpdateCmd->SetGuidance("if you changed geometrical value(s).");
UpdateCmd->AvailableForStates(G4State_Idle);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/calor/setField",this);
MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setField",this);
MagFieldCmd->SetGuidance("Define magnetic field.");
MagFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
MagFieldCmd->SetParameterName("Bz",false);
@@ -107,7 +110,8 @@ ExN03DetectorMessenger::~ExN03DetectorMessenger()
delete AbsThickCmd; delete GapThickCmd;
delete SizeYZCmd; delete UpdateCmd;
delete MagFieldCmd;
delete ExN03detDir;
delete detDir;
delete N03Dir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+2 -2
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventAction.cc,v 1.16 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventAction.cc,v 1.17 2003/02/10 18:39:49 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03EventActionMessenger.cc,v 1.8 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03EventActionMessenger.cc,v 1.9 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03EventActionMessenger.hh"
#include "ExN03EventAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
#include "G4UIcmdWithAnInteger.hh"
#include "globals.hh"
@@ -40,8 +41,11 @@
ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
:eventAction(EvAct)
{
DrawCmd = new G4UIcmdWithAString("/event/drawTracks",this);
{
eventDir = new G4UIdirectory("/N03/event/");
eventDir->SetGuidance("event control");
DrawCmd = new G4UIcmdWithAString("/N03/event/drawTracks",this);
DrawCmd->SetGuidance("Draw the tracks in the event");
DrawCmd->SetGuidance(" Choice : none, charged(default),neutral, all");
DrawCmd->SetParameterName("choice",true);
@@ -49,7 +53,7 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
DrawCmd->SetCandidates("none charged neutral all");
DrawCmd->AvailableForStates(G4State_Idle);
PrintCmd = new G4UIcmdWithAnInteger("/event/printModulo",this);
PrintCmd = new G4UIcmdWithAnInteger("/N03/event/printModulo",this);
PrintCmd->SetGuidance("Print events modulo n");
PrintCmd->SetParameterName("EventNb",false);
PrintCmd->SetRange("EventNb>0");
@@ -61,7 +65,8 @@ ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct)
ExN03EventActionMessenger::~ExN03EventActionMessenger()
{
delete DrawCmd;
delete PrintCmd;
delete PrintCmd;
delete eventDir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+5 -13
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PhysicsList.cc,v 1.13 2002/03/08 10:48:30 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PhysicsList.cc,v 1.14 2003/02/20 14:46:57 vnivanch Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -38,7 +38,7 @@
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4Material.hh"
#include "G4ios.hh"
#include "G4ios.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -292,22 +292,14 @@ void ExN03PhysicsList::SetCuts()
if (verboseLevel >0){
G4cout << "ExN03PhysicsList::SetCuts:";
G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
}
}
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
//
//
SetCutValue(defaultCutValue, "gamma");
SetCutValue(defaultCutValue, "e-");
SetCutValue(defaultCutValue, "e+");
// set cut values for proton and anti_proton before all other hadrons
// because some processes for hadrons need cut values for proton/anti_proton
//
SetCutValue(defaultCutValue, "proton");
SetCutValue(defaultCutValue, "anti_proton");
SetCutValueForOthers(defaultCutValue);
if (verboseLevel>0) DumpCutValuesTable();
}
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03PrimaryGeneratorAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.7 2002/12/05 01:07:01 asaim Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.8 2002/12/16 16:37:27 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03PrimaryGeneratorMessenger.hh"
#include "ExN03PrimaryGeneratorAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithAString.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,8 +40,11 @@
ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger(
ExN03PrimaryGeneratorAction* ExN03Gun)
:ExN03Action(ExN03Gun)
{
RndmCmd = new G4UIcmdWithAString("/gun/random",this);
{
gunDir = new G4UIdirectory("/N03/gun/");
gunDir->SetGuidance("PrimaryGenerator control");
RndmCmd = new G4UIcmdWithAString("/N03/gun/rndm",this);
RndmCmd->SetGuidance("Shoot randomly the incident particle.");
RndmCmd->SetGuidance(" Choice : on(default), off");
RndmCmd->SetParameterName("choice",true);
@@ -54,6 +58,7 @@ ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger(
ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger()
{
delete RndmCmd;
delete gunDir;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+11 -9
View File
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03RunAction.cc,v 1.10 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03RunAction.cc,v 1.12 2003/01/30 14:14:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -32,6 +32,7 @@
#include "ExN03RunAction.hh"
#include "G4Run.hh"
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4VVisManager.hh"
#include "G4ios.hh"
@@ -49,15 +50,16 @@ ExN03RunAction::~ExN03RunAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03RunAction::BeginOfRunAction(const G4Run* aRun)
{
{
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
if (G4VVisManager::GetConcreteInstance())
{
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/vis/scene/notifyHandlers");
}
//inform the runManager to save random number seed
G4RunManager::GetRunManager()->SetRandomNumberStore(true);
//visualization
if (G4VVisManager::GetConcreteInstance()) {
G4UImanager::GetUIpointer()->ApplyCommand("/vis/scene/notifyHandlers");
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03SteppingAction.cc,v 1.6 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03SteppingAction.cc,v 1.7 2003/01/30 14:14:19 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -31,6 +31,8 @@
#include "ExN03SteppingAction.hh"
#include "G4RunManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExN03SteppingAction::ExN03SteppingAction()
@@ -44,7 +46,10 @@ ExN03SteppingAction::~ExN03SteppingAction()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03SteppingAction::UserSteppingAction(const G4Step*)
{ }
{
// save the random number seed of this event, under condition
//// if(condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: ExN03SteppingVerbose.cc,v 1.9 2002/01/09 17:24:13 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN03SteppingVerbose.cc,v 1.10 2003/02/10 18:39:49 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -73,7 +73,8 @@ void ExN03SteppingVerbose::StepInfo()
<< G4std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
// if( fStepStatus != fWorldBoundary){
if( fTrack->GetNextVolume() != 0 ) {
@@ -162,7 +163,8 @@ G4int prec = G4cout.precision(3);
<< G4std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy")
<< G4std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy")
<< G4std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length")
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length");
<< G4std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length")
<< " ";
if(fTrack->GetNextVolume()){
G4cout << G4std::setw(10) << fTrack->GetVolume()->GetName();
@@ -0,0 +1,42 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: ExN03TrackingAction.cc,v 1.3 2002/12/18 15:17:56 maire Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ExN03TrackingAction.hh"
#include "G4SmoothTrajectory.hh"
#include "G4TrackingManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExN03TrackingAction :: PreUserTrackingAction(const G4Track* aTrack)
{
fpTrackingManager->SetTrajectory(new G4SmoothTrajectory(aTrack));
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN03VisManager.cc,v 1.10 2002/11/13 19:14:38 duns Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// John Allison 24th January 1998.
+10 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.24 2002/06/19 10:44:13 gcosmo Exp $
$Id: History,v 1.28 2003/03/28 09:35:36 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,15 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
28-03-03 G.Cosmo (exampleN04-V05-00-02)
- Corrected text in warning printed from HadronPhysics list.
26-03-03 mma (exampleN04-V05-00-01)
- Use G4PVPlacement and G4PVParametrised constructors in logical mother.
Feb 27, 2003 mma (exampleN04-V05-00-00)
- added capture and fission in HadronPhysics (Hans-Peter)
Jun 19, 2002 Gabriele Cosmo (exampleN04-V04-00-02)
- Added protection for usage of G4UItcsh... in exampleN04.cc.
@@ -1,237 +0,0 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(15-Dec-2000)
Copyright : Geant4 Collaboration
**********************************************
phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all Z
Sandia crossSection below 50 KeV
PhysicsTables from 50 keV to 50 MeV in 100 bins.
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 10 keV to 100 GeV in 100 bins.
conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z.
e+e- energies according Bethe-Heitler
PhysicsTables from 1.022 MeV to 100 GeV in 100 bins.
eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library.
Good description from 1 KeV to 100 GeV.
log scale extrapolation above 100 GeV
Gamma energy sampled from a parametrised formula.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
eIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
Lead 228.53
ArgonGas 0.99
Silicon 116.88
Scintillator 83.337
dummyMat 126.97
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
PhysicsTables from 10 keV to 10 TeV in 100 bins.
annihil: Total cross section from Heilter formula (annihilation into 2 photons).
gamma energies sampled according Heitler
PhysicsTables from 10 keV to 10 TeV in 100 bins.
hIoni Minimum Delta cut in range=0.1 mm.
material min.delta energy(keV)
Air 0.99
Lead 228.53
ArgonGas 0.99
Silicon 116.88
Scintillator 83.337
dummyMat 126.97
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
MuIoni: knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuBrems: theoretical cross section
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
MuPairProd: theoretical cross sections
Good description up to 1000 PeV.
PhysicsTables from 1 keV to 1000 PeV in 150 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 100 eV to 100 TeV in 100 bins.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 0
35 hits are stored in ExN04TrackerHitsCollection.
4 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.29811 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 0
18 hits are stored in ExN04TrackerHitsCollection.
17 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.9242 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 1
11 hits are stored in ExN04TrackerHitsCollection.
11 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.8511 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 2
12 hits are stored in ExN04TrackerHitsCollection.
23 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 2.8904 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 3
24 hits are stored in ExN04TrackerHitsCollection.
17 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.9962 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 4
6 hits are stored in ExN04TrackerHitsCollection.
12 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 2.6983 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 5
10 hits are stored in ExN04TrackerHitsCollection.
19 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 26.952 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 6
17 hits are stored in ExN04TrackerHitsCollection.
12 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 3.9798 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 7
16 hits are stored in ExN04TrackerHitsCollection.
30 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.464 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 8
27 hits are stored in ExN04TrackerHitsCollection.
27 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 14.589 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 9
6 hits are stored in ExN04TrackerHitsCollection.
15 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 8.6695 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 10
22 hits are stored in ExN04TrackerHitsCollection.
14 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 2.8606 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 11
56 hits are stored in ExN04TrackerHitsCollection.
34 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 334.9 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 12
16 hits are stored in ExN04TrackerHitsCollection.
18 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 2.2829 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 13
14 hits are stored in ExN04TrackerHitsCollection.
25 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 10.367 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 14
5 hits are stored in ExN04TrackerHitsCollection.
27 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 6.7872 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 15
5 hits are stored in ExN04TrackerHitsCollection.
45 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 10.928 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 16
5 hits are stored in ExN04TrackerHitsCollection.
14 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 2.9975 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 17
16 hits are stored in ExN04TrackerHitsCollection.
16 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.9347 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 18
5 hits are stored in ExN04TrackerHitsCollection.
14 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 3.752 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 19
15 hits are stored in ExN04TrackerHitsCollection.
16 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 6.2639 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
+21 -12
View File
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
@@ -16,10 +16,17 @@ Current available graphics systems are:
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
You are using the ExN04HadronPhysics
- Note that this hadronic physics list is not optimized for any particular usage
- If you wish to have a starting point tailored for a particular area of work,
please one of the available physics lists by use-case.
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
@@ -36,7 +43,8 @@ eBrem: Total cross sections from a NEW parametrisation based on the EEDL data l
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -55,6 +63,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -82,24 +91,24 @@ msc: Tables of transport mean free paths.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 0
9 hits are stored in ExN04TrackerHitsCollection.
4 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.241565 (GeV)
6 hits are stored in ExN04TrackerHitsCollection.
5 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.228711 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
### Run 1 start.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 0
5 hits are stored in ExN04TrackerHitsCollection.
18 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.03393 (GeV)
12 hits are stored in ExN04TrackerHitsCollection.
34 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.49873 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 1
37 hits are stored in ExN04TrackerHitsCollection.
30 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 8.44836 (GeV)
16 hits are stored in ExN04TrackerHitsCollection.
19 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 4.79524 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Graphics systems deleted.
Visualization Manager deleting...
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: exampleN04.cc,v 1.6 2002/06/19 10:44:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// --------------------------------------------------------------
+17 -8
View File
@@ -1,6 +1,6 @@
**********************************************
Geant4 version $Name: geant4-05-00 $
(13-Dec-2002)
Geant4 version $Name: geant4-05-01 $
(30-Apr-2003)
Copyright : Geant4 Collaboration
**********************************************
@@ -16,10 +16,17 @@ Current available graphics systems are:
DAWNFILE (DAWNFILE)
GAGTree (GAGTree)
G4HepRepFile (HepRepFile)
G4HepRep (HepRepXML)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
You are using the ExN04HadronPhysics
- Note that this hadronic physics list is not optimized for any particular usage
- If you wish to have a starting point tailored for a particular area of work,
please one of the available physics lists by use-case.
compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV.
Scattered gamma energy according Klein-Nishina.
PhysicsTables from 1 keV to 100 GeV in 80 bins.
@@ -36,7 +43,8 @@ eBrem: Total cross sections from a NEW parametrisation based on the EEDL data l
eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -55,6 +63,7 @@ hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
delta ray energy sampled from differential Xsection.
PhysicsTables from 1 keV to 100 TeV in 100 bins.
Step function: finalRange(mm)= 1, dRoverRange= 0.2
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
@@ -82,9 +91,9 @@ msc: Tables of transport mean free paths.
Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 1 isolated muon found.
>>> Event 0
102 hits are stored in ExN04TrackerHitsCollection.
63 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.834231 (GeV)
114 hits are stored in ExN04TrackerHitsCollection.
44 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.61501 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Stage 0->1 : 0 hits found in the muon chamber.
++++++++ event aborted
@@ -97,9 +106,9 @@ Stage 0->1 : 1 hits found in the muon chamber.
Stage 1->2 : 0 isolated muon found.
++++++++ event aborted
>>> Event 2
73 hits are stored in ExN04TrackerHitsCollection.
79 hits are stored in ExN04TrackerHitsCollection.
13 hits are stored in ExN04CalorimeterHitsCollection.
Total energy deposition in calorimeter : 0.336442 (GeV)
Total energy deposition in calorimeter : 0.332041 (GeV)
1 hits are stored in ExN04MuonHitsCollection.
Graphics systems deleted.
Visualization Manager deleting...
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04EMPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04GeneralPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -20,19 +20,14 @@
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: ExN04HadronPhysics.hh,v 1.5 2003/03/28 09:35:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
// $Id: ExN04HadronPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
// Class Description:
//
// This class is an derived class of G4VPhysicsConstructor
//
// -------------------------------------------
// History
// first version 12 Nov. 2000 by H.Kurashige
// ------------------------------------------------------------
#ifndef ExN04HadronPhysics_h
#define ExN04HadronPhysics_h 1
@@ -147,6 +142,16 @@
#include "G4KaonMinusAbsorptionAtRest.hh"
#endif
// quark gluon string model with chips afterburner.
#include "G4TheoFSGenerator.hh"
#include "G4ExcitationHandler.hh"
#include "G4PreCompoundModel.hh"
#include "G4GeneratorPrecompoundInterface.hh"
#include "G4QGSModel.hh"
#include "G4QGSParticipants.hh"
#include "G4QGSMFragmentation.hh"
#include "G4ExcitedStringDecay.hh"
class ExN04HadronPhysics : public G4VPhysicsConstructor
{
public:
@@ -171,14 +176,12 @@ class ExN04HadronPhysics : public G4VPhysicsConstructor
// Pi +
G4PionPlusInelasticProcess thePionPlusInelastic;
G4LEPionPlusInelastic* theLEPionPlusModel;
G4HEPionPlusInelastic* theHEPionPlusModel;
G4MultipleScattering thePionPlusMult;
G4hIonisation thePionPlusIonisation;
// Pi -
G4PionMinusInelasticProcess thePionMinusInelastic;
G4LEPionMinusInelastic* theLEPionMinusModel;
G4HEPionMinusInelastic* theHEPionMinusModel;
G4MultipleScattering thePionMinusMult;
G4hIonisation thePionMinusIonisation;
#ifdef TRIUMF_STOP_PIMINUS
@@ -187,13 +190,23 @@ class ExN04HadronPhysics : public G4VPhysicsConstructor
G4PiMinusAbsorptionAtRest thePionMinusAbsorption;
#endif
// pi+ and pi-
G4TheoFSGenerator theTheoModel;
G4ExcitationHandler theHandler;
G4PreCompoundModel * thePreEquilib;
G4GeneratorPrecompoundInterface theCascade;
G4QGSModel< G4QGSParticipants > theStringModel;
G4QGSMFragmentation theFragmentation;
G4ExcitedStringDecay * theStringDecay;
// K +
G4KaonPlusInelasticProcess theKaonPlusInelastic;
G4LEKaonPlusInelastic* theLEKaonPlusModel;
G4HEKaonPlusInelastic* theHEKaonPlusModel;
G4MultipleScattering theKaonPlusMult;
G4hIonisation theKaonPlusIonisation;
// K -
G4KaonMinusInelasticProcess theKaonMinusInelastic;
G4LEKaonMinusInelastic* theLEKaonMinusModel;
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04IonPhysics.hh,v 1.3 2002/01/09 17:24:14 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04MuonPhysics.hh,v 1.4 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
// ------------------------------------------------------------
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04RunAction.hh,v 1.1 2002/05/02 14:18:51 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04SteppingVerbose.hh,v 1.1 2002/05/02 14:18:51 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
// This class manages the verbose outputs in G4SteppingManager.
// It inherits from G4SteppingVerbose.
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04VisManager.hh,v 1.1 2002/05/02 14:18:51 maire Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -128,8 +128,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
G4LogicalVolume * experimentalHall_log
= new G4LogicalVolume(experimentalHall_box,Air,"expHall_L",0,0,0);
G4VPhysicalVolume * experimentalHall_phys
= new G4PVPlacement(0,G4ThreeVector(),"expHall_P",
experimentalHall_log,0,false,0);
= new G4PVPlacement(0,G4ThreeVector(),experimentalHall_log,"expHall_P",
0,false,0);
G4VisAttributes* experimentalHallVisAtt
= new G4VisAttributes(G4Colour(1.0,1.0,1.0));
experimentalHallVisAtt->SetForceWireframe(true);
@@ -142,8 +142,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
G4LogicalVolume * tracker_log
= new G4LogicalVolume(tracker_tubs,Ar,"trackerT_L",0,0,0);
G4VPhysicalVolume * tracker_phys
= new G4PVPlacement(0,G4ThreeVector(),"tracker_phys",tracker_log,
experimentalHall_phys,false,0);
= new G4PVPlacement(0,G4ThreeVector(),tracker_log,"tracker_phys",
experimentalHall_log,false,0);
G4VisAttributes* tracker_logVisAtt
= new G4VisAttributes(G4Colour(1.0,0.0,1.0));
tracker_logVisAtt->SetForceWireframe(true);
@@ -161,7 +161,7 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
= new ExN04TrackerParametrisation;
// dummy value : kXAxis -- modified by parameterised volume
// G4VPhysicalVolume *trackerLayer_phys =
new G4PVParameterised("trackerLayer_phys",trackerLayer_log,tracker_phys,
new G4PVParameterised("trackerLayer_phys",trackerLayer_log,tracker_log,
kXAxis, notrkLayers, trackerParam);
G4VisAttributes* trackerLayer_logVisAtt
= new G4VisAttributes(G4Colour(0.5,0.0,1.0));
@@ -175,8 +175,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
G4LogicalVolume * calorimeter_log
= new G4LogicalVolume(calorimeter_tubs,Scinti,"caloT_L",0,0,0);
G4VPhysicalVolume * calorimeter_phys
= new G4PVPlacement(0,G4ThreeVector(),"caloM_P",calorimeter_log,
experimentalHall_phys,false,0);
= new G4PVPlacement(0,G4ThreeVector(),calorimeter_log,"caloM_P",
experimentalHall_log,false,0);
G4VisAttributes* calorimeter_logVisATT
= new G4VisAttributes(G4Colour(1.0,1.0,0.0));
calorimeter_logVisATT->SetForceWireframe(true);
@@ -194,7 +194,7 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
= new ExN04CalorimeterParametrisation;
// dummy value : kXAxis -- modified by parameterised volume
// G4VPhysicalVolume * caloLayer_phys =
new G4PVParameterised("caloLayer_phys",caloLayer_log,calorimeter_phys,
new G4PVParameterised("caloLayer_phys",caloLayer_log,calorimeter_log,
kXAxis, nocaloLayers, calorimeterParam);
G4VisAttributes* caloLayer_logVisAtt
= new G4VisAttributes(G4Colour(0.7,1.0,0.0));
@@ -220,8 +220,8 @@ G4VPhysicalVolume* ExN04DetectorConstruction::Construct()
rm.rotateZ(phi);
muoncounter_phys
= new G4PVPlacement(G4Transform3D(rm,G4ThreeVector(x,y,z)),
"muoncounter_P",muoncounter_log,
experimentalHall_phys,false,i);
muoncounter_log, "muoncounter_P",
experimentalHall_log,false,i);
}
G4VisAttributes* muoncounter_logVisAtt
= new G4VisAttributes(G4Colour(0.0,1.0,1.0));
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04EMPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04GeneralPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+31 -22
View File
@@ -21,10 +21,9 @@
// ********************************************************************
//
//
// $Id: ExN04HadronPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// $Id: ExN04HadronPhysics.cc,v 1.6 2003/03/28 09:35:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-01 $
//
//
#include "ExN04HadronPhysics.hh"
@@ -40,6 +39,7 @@ ExN04HadronPhysics::ExN04HadronPhysics(const G4String& name)
ExN04HadronPhysics::~ExN04HadronPhysics()
{
delete theStringDecay;
}
#include "G4ParticleDefinition.hh"
@@ -73,20 +73,35 @@ void ExN04HadronPhysics::ConstructParticle()
void ExN04HadronPhysics::ConstructProcess()
{
G4ProcessManager * pManager = 0;
G4cout << "" << G4endl;
G4cout << "You are using the ExN04HadronPhysics" << G4endl;
G4cout << " - Note that this hadronic physics list is not optimized for any particular usage" << G4endl;
G4cout << " - If you wish to have a starting point tailored for a particular area of work," << G4endl;
G4cout << " please one of the available physics lists by use-case." << G4endl;
G4cout << "" << G4endl;
// Elastic Process
theElasticModel = new G4LElastic();
theElasticProcess.RegisterMe(theElasticModel);
// pi+ and pi-
thePreEquilib = new G4PreCompoundModel(&theHandler);
theCascade.SetDeExcitation(thePreEquilib);
theTheoModel.SetTransport(&theCascade);
theTheoModel.SetHighEnergyGenerator(&theStringModel);
theStringDecay = new G4ExcitedStringDecay(&theFragmentation);
theStringModel.SetFragmentationModel(theStringDecay);
theTheoModel.SetMinEnergy(15*GeV);
theTheoModel.SetMaxEnergy(100*TeV);
// PionPlus
pManager = G4PionPlus::PionPlus()->GetProcessManager();
// add process
pManager->AddDiscreteProcess(&theElasticProcess);
theLEPionPlusModel = new G4LEPionPlusInelastic();
theHEPionPlusModel = new G4HEPionPlusInelastic();
thePionPlusInelastic.RegisterMe(theLEPionPlusModel);
thePionPlusInelastic.RegisterMe(theHEPionPlusModel);
thePionPlusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&thePionPlusInelastic);
pManager->AddProcess(&thePionPlusIonisation, ordInActive,2, 2);
@@ -101,9 +116,8 @@ void ExN04HadronPhysics::ConstructProcess()
pManager->AddDiscreteProcess(&theElasticProcess);
theLEPionMinusModel = new G4LEPionMinusInelastic();
theHEPionMinusModel = new G4HEPionMinusInelastic();
thePionMinusInelastic.RegisterMe(theLEPionMinusModel);
thePionMinusInelastic.RegisterMe(theHEPionMinusModel);
thePionMinusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&thePionMinusInelastic);
pManager->AddProcess(&thePionMinusIonisation, ordInActive,2, 2);
@@ -122,7 +136,7 @@ void ExN04HadronPhysics::ConstructProcess()
theLEKaonPlusModel = new G4LEKaonPlusInelastic();
theHEKaonPlusModel = new G4HEKaonPlusInelastic();
theKaonPlusInelastic.RegisterMe(theLEKaonPlusModel);
theKaonPlusInelastic.RegisterMe(theHEKaonPlusModel);
theKaonPlusInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theKaonPlusInelastic);
pManager->AddProcess(&theKaonPlusIonisation, ordInActive,2, 2);
@@ -180,7 +194,7 @@ void ExN04HadronPhysics::ConstructProcess()
theLEProtonModel = new G4LEProtonInelastic();
theHEProtonModel = new G4HEProtonInelastic();
theProtonInelastic.RegisterMe(theLEProtonModel);
theProtonInelastic.RegisterMe(theHEProtonModel);
theProtonInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theProtonInelastic);
pManager->AddProcess(&theProtonIonisation, ordInActive,2, 2);
@@ -216,16 +230,16 @@ void ExN04HadronPhysics::ConstructProcess()
theLENeutronModel = new G4LENeutronInelastic();
theHENeutronModel = new G4HENeutronInelastic();
theNeutronInelastic.RegisterMe(theLENeutronModel);
theNeutronInelastic.RegisterMe(theHENeutronModel);
theNeutronInelastic.RegisterMe(&theTheoModel);
pManager->AddDiscreteProcess(&theNeutronInelastic);
//theNeutronFissionModel = new G4LFission();
//theNeutronFission.RegisterMe(theNeutronFissionModel);
//pManager->AddDiscreteProcess(&NeutronFission);
theNeutronFissionModel = new G4LFission();
theNeutronFission.RegisterMe(theNeutronFissionModel);
pManager->AddDiscreteProcess(&theNeutronFission);
//theNeutronCaptureModel = new G4LCapture();
//theNeutronCapture.RegisterMe(theNeutronCaptureModel);
//pManager->AddDiscreteProcess(&theNeutronCapture);
theNeutronCaptureModel = new G4LCapture();
theNeutronCapture.RegisterMe(theNeutronCaptureModel);
pManager->AddDiscreteProcess(&theNeutronCapture);
// AntiNeutron
pManager = G4AntiNeutron::AntiNeutron()->GetProcessManager();
@@ -421,8 +435,3 @@ void ExN04HadronPhysics::ConstructProcess()
pManager->SetProcessOrdering(&theAntiOmegaMinusMult, idxPostStep, 1);
}
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04IonPhysics.cc,v 1.3 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04MuonPhysics.cc,v 1.4 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//
+1 -1
View File
@@ -22,7 +22,7 @@
//
//
// $Id: ExN04PhysicsList.cc,v 1.12 2002/01/09 17:24:15 ranjard Exp $
// GEANT4 tag $Name: geant4-05-00 $
// GEANT4 tag $Name: geant4-05-01 $
//
//

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