Import Geant4 0.1.0 source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 2.1 1998/07/02 15:26:54 gunter Exp $
|
||||
# $Id: GNUmakefile,v 1.4 1999/07/06 18:15:43 johna Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
|
||||
# --------------------------------------------------------------
|
||||
@@ -15,3 +15,22 @@ endif
|
||||
all: lib bin
|
||||
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
|
||||
CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
|
||||
CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))
|
||||
|
||||
ifeq ($(G4SYSTEM),HP-aCC)
|
||||
COMPILER := $(shell aCC -V 2>&1)
|
||||
ifeq ($(COMPILER), aCC: HP ANSI C++ B3910B A.01.15)
|
||||
$(G4TMP)/$(G4SYSTEM)/$(name)/ExN04PhysicsList.o: src/ExN04PhysicsList.cc
|
||||
$(CXX) $(CXXFLAGS_WITHOUT_O) $(CPPFLAGS) -c $(OUT_OBJ)$@ src/ExN04PhysicsList.cc
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(G4SYSTEM),Linux-g++)
|
||||
COMPILER := $(shell g++ -v 2>&1 | grep version | grep egcs)
|
||||
ifeq ($(findstring 1.1,$(COMPILER)),1.1)
|
||||
$(G4TMP)/$(G4SYSTEM)/$(name)/ExN04PhysicsList.o: src/ExN04PhysicsList.cc
|
||||
$(CXX) $(CXXFLAGS_WITHOUT_O) $(CPPFLAGS) -c $(OUT_OBJ)$@ src/ExN04PhysicsList.cc
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 2.4 1998/11/21 16:55:06 allison Exp $
|
||||
$Id: History,v 1.4 1999/06/05 12:41:28 stesting Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,19 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
5th June 1999 John Allison
|
||||
- GNUmakefile: Force non-optimised compliation of some files on HP with
|
||||
aCC: HP ANSI C++ B3910B A.01.15.
|
||||
|
||||
23th April 1999 H.Kurashige
|
||||
- remove ConstructLeptHad, AddParameterisation inExN04PhysicsList
|
||||
|
||||
16th April 1999 H.Kurashige
|
||||
- modify ExN04RunAction ExN04StackingAction ExN04SteppingAction ExN04TrackingAction
|
||||
- modify ExN04PhysicsList::SetCuts
|
||||
- modify ExN04PhysicsList::ConstructParticle
|
||||
|
||||
|
||||
21st November 1998 John Allison
|
||||
- Made ExN04Field compatible with G4Field.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 2.0 1998/07/02 14:08:56 gunter Exp $
|
||||
$Id: README,v 1.2 1999/05/31 09:16:40 asaim Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -8,3 +8,43 @@ $Id: README,v 2.0 1998/07/02 14:08:56 gunter Exp $
|
||||
ExampleN04
|
||||
----------
|
||||
|
||||
ExampleN04 has a simplified collider detector geometry. This example
|
||||
demonstrates the following features.
|
||||
|
||||
1. PYTHIA primary events.
|
||||
|
||||
ExN04PrimaryGeneratorAction has G4HEPEvtInterface as the generator.
|
||||
G4HEPEvtInterface accesses to "pythia_event.data", which contains three
|
||||
events of Higgs generation produced by PYTHIA. "pythia_main.f" is an
|
||||
example FORTRAN code of PYTHIA for generating this event sample.
|
||||
|
||||
2. Readout geometry
|
||||
|
||||
ExN04DetectorConstruction defines a simplified collider detecor
|
||||
geometry, tracker made of cylindrical tubes, calorimeter made of
|
||||
cylindrical tubes, and muon trackers made of planes.
|
||||
Cylindrical calorimeter is made of tubes of lead and scintirator
|
||||
without cut in phi nor z direction. Energy deposition in scintirator
|
||||
is accumurated by ExN04CalorimeterSD sensitive detector, which has
|
||||
a readout geometry to find the phi-z cell.
|
||||
|
||||
3. Full set of "ordinary" physics processes
|
||||
|
||||
ExN04PhysicsList defines almost all of leptons and hadrons which
|
||||
Geant4 has dedicated classes for. Also almost all physics processes
|
||||
Geant4 has are defined.
|
||||
|
||||
4. Event filtering by the stacking mechanism.
|
||||
|
||||
Higgs events in "pythia_event.data" have two lepton pairs produced
|
||||
by the Higgs decay via Z0. At the first stage of each event, only the
|
||||
primary muons are tracked without tracking secondaries. then the number
|
||||
of hits on the muon trackers are examined. At the next stage, only
|
||||
the primary charged particles are tracked only inside the barrel
|
||||
tracking area and the isolation of the primary muons are examined.
|
||||
At the third stage, all particles in the RoI (Region of Interest) along
|
||||
the isolated muons are tracked. All these examinations are applied in
|
||||
ExN04StackingAction.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,100 +1,132 @@
|
||||
|
||||
****************************************************************
|
||||
****************************************************************
|
||||
** **
|
||||
** G4MuPairProduction : **
|
||||
** cross section/energy loss is calculated using **
|
||||
** the accurate cross section formula of R.Kokoulin, **
|
||||
** ( building the tables takes a lot of time, **
|
||||
** PLEASE BE PATIENT ! ) **
|
||||
** sampling of the energy of the pair is generated **
|
||||
** according to the sampling tables. **
|
||||
** **
|
||||
****************************************************************
|
||||
****************************************************************
|
||||
ionIoni: Knock-on electron cross sections .
|
||||
MeanFreePath is computed at tracking time.
|
||||
delta ray energy sampled from differential Xsection.
|
||||
|
||||
****************************************************************
|
||||
****************************************************************
|
||||
** **
|
||||
** G4MuPairProduction : **
|
||||
** cross section/energy loss is calculated using **
|
||||
** the accurate cross section formula of R.Kokoulin, **
|
||||
** ( building the tables takes a lot of time, **
|
||||
** PLEASE BE PATIENT ! ) **
|
||||
** sampling of the energy of the pair is generated **
|
||||
** according to the sampling tables. **
|
||||
** **
|
||||
****************************************************************
|
||||
****************************************************************
|
||||
ExN04PhysicsList::SetCuts:CutLength : 1 (mm)
|
||||
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 10 keV to 100 GeV in 100 bins.
|
||||
|
||||
phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all ZSandia crossSection below 50 KeV
|
||||
PhysicsTables from 50 keV to 50 MeV 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.
|
||||
|
||||
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.
|
||||
|
||||
eBrem: Total cross sections from a parametrisation. 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.
|
||||
|
||||
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 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.
|
||||
|
||||
MuBrems: theoretical cross section
|
||||
Good description up to 1000 TeV.
|
||||
PhysicsTables from 1 GeV to 1000 PeV in 100 bins.
|
||||
|
||||
MuPairProd: theoretical cross sections
|
||||
Good description up to 1000 TeV.
|
||||
PhysicsTables from 1 GeV to 1000 PeV in 50 bins.
|
||||
Idle> Idle> Idle> Idle> 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.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.277324 (GeV)
|
||||
Total energy deposition in calorimeter : 0.582536 (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
|
||||
5 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.598772 (GeV)
|
||||
Total energy deposition in calorimeter : 0.328112 (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
|
||||
24 hits are stored in ExN04TrackerHitsCollection.
|
||||
6 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.768435 (GeV)
|
||||
5 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.317862 (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
|
||||
5 hits are stored in ExN04TrackerHitsCollection.
|
||||
15 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.260963 (GeV)
|
||||
Total energy deposition in calorimeter : 0.695135 (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
|
||||
5 hits are stored in ExN04TrackerHitsCollection.
|
||||
16 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.362545 (GeV)
|
||||
Total energy deposition in calorimeter : 0.254739 (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
|
||||
32 hits are stored in ExN04TrackerHitsCollection.
|
||||
10 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.333041 (GeV)
|
||||
Total energy deposition in calorimeter : 0.399896 (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
|
||||
5 hits are stored in ExN04TrackerHitsCollection.
|
||||
6 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.327284 (GeV)
|
||||
23 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.258006 (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
|
||||
20 hits are stored in ExN04TrackerHitsCollection.
|
||||
19 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.464026 (GeV)
|
||||
Total energy deposition in calorimeter : 0.263667 (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
|
||||
15 hits are stored in ExN04TrackerHitsCollection.
|
||||
27 hits are stored in ExN04TrackerHitsCollection.
|
||||
4 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.322904 (GeV)
|
||||
Total energy deposition in calorimeter : 0.2954 (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
|
||||
8 hits are stored in ExN04TrackerHitsCollection.
|
||||
11 hits are stored in ExN04TrackerHitsCollection.
|
||||
5 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.400399 (GeV)
|
||||
Total energy deposition in calorimeter : 0.279685 (GeV)
|
||||
1 hits are stored in ExN04MuonHitsCollection.
|
||||
Idle>
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: exampleN04.cc,v 2.7 1998/12/08 16:37:31 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: exampleN04.cc,v 1.1 1999/01/07 16:05:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -1,26 +1,29 @@
|
||||
ExN04PhysicsList::SetCuts:CutLength : 1 (mm)
|
||||
|
||||
conv: Total cross sections from a parametrisation(L.Urban). Good description from 1.5 MeV to 100 GeV for all Z.
|
||||
ionIoni: Knock-on electron cross sections .
|
||||
MeanFreePath is computed at tracking time.
|
||||
delta ray energy sampled from differential Xsection.
|
||||
|
||||
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(L.Urban). Good description from 10 KeV to (100/Z) GeV.
|
||||
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.
|
||||
|
||||
phot: Total cross sections from a parametrisation(L.Urban). Good description from 10 KeV to 50 MeV for all Z
|
||||
PhysicsTables from 10 keV to 50 MeV in 100 bins.
|
||||
phot: Total cross sections from a parametrisation. Good description from 10 KeV to 50 MeV for all ZSandia crossSection below 50 KeV
|
||||
PhysicsTables from 50 keV to 50 MeV 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.
|
||||
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.
|
||||
|
||||
eBrem: Total cross sections from a parametrisation(L.Urban). Good description from 1 KeV to 100 GeV.
|
||||
eBrem: Total cross sections from a parametrisation. 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.
|
||||
@@ -37,7 +40,7 @@ hIoni: Knock-on electron cross sections .
|
||||
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.
|
||||
PhysicsTables from 100 eV to 100 TeV in 100 bins.
|
||||
|
||||
MuIoni: knock-on electron cross sections .
|
||||
Good description above the mean excitation energy.
|
||||
@@ -47,23 +50,22 @@ MuIoni: knock-on electron cross sections .
|
||||
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.
|
||||
PhysicsTables from 100 eV to 100 TeV in 100 bins.
|
||||
|
||||
MuBrems: cross sections from R. Kokoulin
|
||||
MuBrems: theoretical cross section
|
||||
Good description up to 1000 TeV.
|
||||
PhysicsTables from 1 GeV to 1000 PeV in 100 bins.
|
||||
|
||||
MuPairProd: cross sections from R. Kokoulin
|
||||
MuPairProd: theoretical cross sections
|
||||
Good description up to 1000 TeV.
|
||||
PhysicsTables from 1 GeV to 1000 PeV in 50 bins.
|
||||
Idle> #
|
||||
Idle> Idle> Idle> Idle> Stage 0->1 : 1 hits found in the muon chamber.
|
||||
Stage 1->2 : 0 isolated muon found.
|
||||
++++++++ event aborted
|
||||
Stage 1->2 : 1 isolated muon found.
|
||||
>>> Event 0
|
||||
437 hits are stored in ExN04TrackerHitsCollection.
|
||||
2 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.00794845 (GeV)
|
||||
140 hits are stored in ExN04TrackerHitsCollection.
|
||||
53 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0.749993 (GeV)
|
||||
1 hits are stored in ExN04MuonHitsCollection.
|
||||
Stage 0->1 : 0 hits found in the muon chamber.
|
||||
++++++++ event aborted
|
||||
@@ -72,12 +74,12 @@ Stage 0->1 : 0 hits found in the muon chamber.
|
||||
0 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0 (GeV)
|
||||
0 hits are stored in ExN04MuonHitsCollection.
|
||||
Stage 0->1 : 0 hits found in the muon chamber.
|
||||
++++++++ event aborted
|
||||
Stage 0->1 : 1 hits found in the muon chamber.
|
||||
Stage 1->2 : 1 isolated muon found.
|
||||
>>> Event 2
|
||||
0 hits are stored in ExN04TrackerHitsCollection.
|
||||
0 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 0 (GeV)
|
||||
0 hits are stored in ExN04MuonHitsCollection.
|
||||
92 hits are stored in ExN04TrackerHitsCollection.
|
||||
43 hits are stored in ExN04CalorimeterHitsCollection.
|
||||
Total energy deposition in calorimeter : 1.02574 (GeV)
|
||||
1 hits are stored in ExN04MuonHitsCollection.
|
||||
Idle> #
|
||||
Idle>
|
||||
@@ -12,8 +12,8 @@ class ExN04EventAction : public G4UserEventAction
|
||||
~ExN04EventAction();
|
||||
|
||||
public:
|
||||
void BeginOfEventAction();
|
||||
void EndOfEventAction();
|
||||
void BeginOfEventAction(const G4Event*);
|
||||
void EndOfEventAction(const G4Event*);
|
||||
|
||||
private:
|
||||
G4int trackerCollID;
|
||||
|
||||
@@ -16,15 +16,21 @@ protected:
|
||||
virtual void ConstructProcess();
|
||||
|
||||
//
|
||||
virtual void SetCuts(G4double aCut);
|
||||
virtual void SetCuts();
|
||||
|
||||
protected:
|
||||
// these methods Construct physics processes and register them
|
||||
void AddParameterisation();
|
||||
virtual void ConstructGeneral();
|
||||
virtual void ConstructEM();
|
||||
virtual void ConstructHad();
|
||||
virtual void ConstructLeptHad();
|
||||
|
||||
// these methods Construct all particles in each category
|
||||
virtual void ConstructAllBosons();
|
||||
virtual void ConstructAllLeptons();
|
||||
virtual void ConstructAllMesons();
|
||||
virtual void ConstructAllBarions();
|
||||
virtual void ConstructAllIons();
|
||||
virtual void ConstructAllShortLiveds();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -17,15 +17,15 @@ class ExN04StackingAction : public G4UserStackingAction
|
||||
{
|
||||
public:
|
||||
ExN04StackingAction();
|
||||
~ExN04StackingAction();
|
||||
virtual ~ExN04StackingAction();
|
||||
|
||||
public:
|
||||
G4ClassificationOfNewTrack ClassifyNewTrack(G4Track *const aTrack);
|
||||
void NewStage();
|
||||
void PrepareNewEvent();
|
||||
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
|
||||
virtual void NewStage();
|
||||
virtual void PrepareNewEvent();
|
||||
|
||||
private:
|
||||
G4bool InsideRoI(G4Track *const aTrack,G4double ang);
|
||||
G4bool InsideRoI(const G4Track * aTrack,G4double ang);
|
||||
G4VHitsCollection* GetCollection(G4String colName);
|
||||
|
||||
ExN04TrackerHitsCollection* trkHits;
|
||||
|
||||
@@ -9,9 +9,9 @@ class ExN04SteppingAction : public G4UserSteppingAction
|
||||
{
|
||||
public:
|
||||
ExN04SteppingAction();
|
||||
~ExN04SteppingAction();
|
||||
virtual ~ExN04SteppingAction();
|
||||
|
||||
virtual void UserSteppingAction();
|
||||
virtual void UserSteppingAction(const G4Step*);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,9 +9,9 @@ class ExN04TrackingAction : public G4UserTrackingAction {
|
||||
|
||||
public:
|
||||
ExN04TrackingAction(){};
|
||||
~ExN04TrackingAction(){};
|
||||
virtual ~ExN04TrackingAction(){};
|
||||
|
||||
void PreUserTrackingAction();
|
||||
virtual void PreUserTrackingAction(const G4Track*);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ ExN04EventAction::ExN04EventAction()
|
||||
ExN04EventAction::~ExN04EventAction()
|
||||
{;}
|
||||
|
||||
void ExN04EventAction::BeginOfEventAction()
|
||||
void ExN04EventAction::BeginOfEventAction(const G4Event*)
|
||||
{
|
||||
G4SDManager * SDman = G4SDManager::GetSDMpointer();
|
||||
if(trackerCollID<0||calorimeterCollID<0||muonCollID<0)
|
||||
@@ -43,10 +43,8 @@ void ExN04EventAction::BeginOfEventAction()
|
||||
}
|
||||
}
|
||||
|
||||
void ExN04EventAction::EndOfEventAction()
|
||||
void ExN04EventAction::EndOfEventAction(const G4Event* evt)
|
||||
{
|
||||
const G4Event* evt = fpEventManager->GetConstCurrentEvent();
|
||||
|
||||
G4cout << ">>> Event " << evt->GetEventID() << endl;
|
||||
|
||||
if(trackerCollID<0||calorimeterCollID<0||muonCollID<0) return;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: ExN04PhysicsList.cc,v 1.12 1998/12/14 21:17:58 stesting Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: ExN04PhysicsList.cc,v 1.5 1999/06/17 04:18:47 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
#include "G4ProcessVector.hh"
|
||||
#include "G4ParticleTypes.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4BosonConstructor.hh"
|
||||
#include "G4LeptonConstructor.hh"
|
||||
#include "G4MesonConstructor.hh"
|
||||
#include "G4BarionConstructor.hh"
|
||||
#include "G4IonConstructor.hh"
|
||||
#include "G4ShortLivedConstructor.hh"
|
||||
#include "G4Material.hh"
|
||||
#include "G4MaterialTable.hh"
|
||||
#include "G4ios.hh"
|
||||
@@ -29,6 +35,9 @@
|
||||
|
||||
ExN04PhysicsList::ExN04PhysicsList(): G4VUserPhysicsList()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
defaultCutValue = 1.0*mm;
|
||||
|
||||
SetVerboseLevel(1);
|
||||
}
|
||||
|
||||
@@ -45,15 +54,19 @@ void ExN04PhysicsList::ConstructParticle()
|
||||
// created in the program.
|
||||
|
||||
// create all particles
|
||||
ConstructAllParticles();
|
||||
ConstructAllBosons();
|
||||
ConstructAllLeptons();
|
||||
ConstructAllMesons();
|
||||
ConstructAllBarions();
|
||||
ConstructAllIons();
|
||||
ConstructAllShortLiveds();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructProcess()
|
||||
{
|
||||
AddTransportation();
|
||||
AddParameterisation();
|
||||
|
||||
ConstructEM();
|
||||
ConstructLeptHad();
|
||||
ConstructHad();
|
||||
ConstructGeneral();
|
||||
}
|
||||
@@ -610,9 +623,6 @@ void ExN04PhysicsList::ConstructHad()
|
||||
}
|
||||
|
||||
|
||||
void ExN04PhysicsList::ConstructLeptHad()
|
||||
{;}
|
||||
|
||||
#include "G4Decay.hh"
|
||||
void ExN04PhysicsList::ConstructGeneral()
|
||||
{
|
||||
@@ -630,40 +640,53 @@ void ExN04PhysicsList::ConstructGeneral()
|
||||
}
|
||||
}
|
||||
}
|
||||
void ExN04PhysicsList::AddParameterisation()
|
||||
|
||||
void ExN04PhysicsList::SetCuts()
|
||||
{
|
||||
G4FastSimulationManagerProcess*
|
||||
theFastSimulationManagerProcess =
|
||||
new G4FastSimulationManagerProcess();
|
||||
theParticleIterator->reset();
|
||||
while( (*theParticleIterator)() ){
|
||||
G4ParticleDefinition* particle = theParticleIterator->value();
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(theFastSimulationManagerProcess);
|
||||
}
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
// the default cut value for all particle types
|
||||
SetCutsWithDefault();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::SetCuts(G4double cut)
|
||||
void ExN04PhysicsList::ConstructAllBosons()
|
||||
{
|
||||
if (verboseLevel >0){
|
||||
G4cout << "ExN04PhysicsList::SetCuts:";
|
||||
G4cout << "CutLength : " << cut/mm << " (mm)" << endl;
|
||||
}
|
||||
|
||||
// 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(cut, "gamma");
|
||||
SetCutValue(cut, "e-");
|
||||
SetCutValue(cut, "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(cut, "proton");
|
||||
SetCutValue(cut, "anti_proton");
|
||||
|
||||
SetCutValueForOthers(cut);
|
||||
|
||||
if (verboseLevel>1) {
|
||||
DumpCutValuesTable();
|
||||
}
|
||||
// Construct all bosons
|
||||
G4BosonConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructAllLeptons()
|
||||
{
|
||||
// Construct all leptons
|
||||
G4LeptonConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructAllMesons()
|
||||
{
|
||||
// Construct all mesons
|
||||
G4MesonConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructAllBarions()
|
||||
{
|
||||
// Construct all barions
|
||||
G4BarionConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructAllIons()
|
||||
{
|
||||
// Construct light ions
|
||||
G4IonConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void ExN04PhysicsList::ConstructAllShortLiveds()
|
||||
{
|
||||
// Construct resonaces and quarks
|
||||
G4ShortLivedConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ ExN04StackingAction::~ExN04StackingAction()
|
||||
{ delete theMessenger; }
|
||||
|
||||
G4ClassificationOfNewTrack
|
||||
ExN04StackingAction::ClassifyNewTrack(G4Track *const aTrack)
|
||||
ExN04StackingAction::ClassifyNewTrack(const G4Track * aTrack)
|
||||
{
|
||||
G4ClassificationOfNewTrack classification = fWaiting;
|
||||
switch(stage)
|
||||
@@ -65,7 +65,7 @@ ExN04StackingAction::ClassifyNewTrack(G4Track *const aTrack)
|
||||
return classification;
|
||||
}
|
||||
|
||||
G4bool ExN04StackingAction::InsideRoI(G4Track *const aTrack,G4double ang)
|
||||
G4bool ExN04StackingAction::InsideRoI(const G4Track * aTrack,G4double ang)
|
||||
{
|
||||
if(!muonHits)
|
||||
{ muonHits = (ExN04MuonHitsCollection*)GetCollection("muonCollection"); }
|
||||
|
||||
@@ -15,10 +15,9 @@ ExN04SteppingAction::ExN04SteppingAction()
|
||||
ExN04SteppingAction::~ExN04SteppingAction()
|
||||
{;}
|
||||
|
||||
void ExN04SteppingAction::UserSteppingAction()
|
||||
void ExN04SteppingAction::UserSteppingAction(const G4Step * theStep)
|
||||
{
|
||||
G4SteppingManager * SM = GetOmnipotentSteppingManager();
|
||||
G4Step * theStep = SM->GetStep();
|
||||
G4SteppingManager * SM = fpSteppingManager;
|
||||
G4Track * theTrack = theStep->GetTrack();
|
||||
|
||||
// check if it is alive
|
||||
|
||||
@@ -4,16 +4,13 @@
|
||||
#include "G4TrackingManager.hh"
|
||||
#include "G4Track.hh"
|
||||
|
||||
void ExN04TrackingAction::PreUserTrackingAction()
|
||||
void ExN04TrackingAction::PreUserTrackingAction(const G4Track* aTrack)
|
||||
{
|
||||
G4TrackingManager* trackingManager = GetOmnipotentTrackingManager();
|
||||
G4Track* aTrack = trackingManager->GetTrack();
|
||||
|
||||
// Create trajectory only for primaries
|
||||
if(aTrack->GetParentID()==0)
|
||||
{ trackingManager->SetStoreTrajectory(true); }
|
||||
{ fpTrackingManager->SetStoreTrajectory(true); }
|
||||
else
|
||||
{ trackingManager->SetStoreTrajectory(false); }
|
||||
{ fpTrackingManager->SetStoreTrajectory(false); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user