Import Geant4 0.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:09:25 +02:00
parent b97f8d0df7
commit aaa409b6ee
2922 changed files with 55107 additions and 81674 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.1 1998/10/14 15:49:04 allison Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:16 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+48 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 2.22 1998/12/13 18:04:03 stesting Exp $
$Id: History,v 1.16 1999/07/06 18:15:39 johna Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,53 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
6th July 1999 John Allison (examples-01-00-13)
- Relaxed non-optimised compiling for ExN04PhysicsList.cc for Linux.
24th June 1999 John Allison (examples-01-00-12)
- Updated some .out files for geant4-00-cand-13.
- Tagged N05 changes (Marc).
17th June 1999 John Allison (examples-01-00-11)
- Updated exampleN03.out and exampleN04.EMtest.out for geant4-00-cand-11a.
7th June 1999 John Allison (examples-01-00-10)
- Compiled ExN04PhysicsList.cc non-optimised on Linux-g++.
5th June 1999 John Allison (examples-01-00-09)
- exampleN04/GNUmakefile: Force non-optimised compliation of some
files on HP with aCC: HP ANSI C++ B3910B A.01.15.
- For NT (Gunter): G4UIsession* session=0 instead of session(NULL).
28th May 1999 John Allison (examples-01-00-08)
- Reordered #include "G4Timer.hh" (must be first) in exampleN05 and 6.
27th May 1999 John Allison (examples-01-00-07)
- Updated exampleN04.out to correspond to geant4-00-cand-09b.
25th May 1999 John Allison (examples-01-00-06)
- Updated exampleN04.out to correspond to em-01-00-05a.
19th May 1999 John Allison (examples-01-00-05)
- Removed #ifdef GNU_GCC in exampleN03.cc.
- Updated .out files for geant4-00-ref-08 and, hopefully, the May Release.
- ExN05CalorimeterHit.hh: Added correct delete operators for
preallocation (Frank Behner).
- E02: Minor update for Sun (Youhei Morita).
7th May 1999 John Allison (examples-01-00-04)
- Removed /vis/clear/scene from exampleN03.in.
26th April 1999 Makoto Asai (examples-01-00-03)
- Changed interfaces to user action classes.
27th March 1999 John Allison (examples-01-00-02)
- Updated exampleNxx.out where xx = 02, 03, 04, 05.
28th January 1999 John Allison (examples-01-00-01)
- Changed test02.in to reduce printing slightly.
- Updated .out files to SUN debug.
13th December 1998 John Allison (examples-00-04-03)
- N04: New em processes for ions (Hans-Peter)
- N05: Bug fix in ExN05CalorimeterSD (Marc).
+37 -5
View File
@@ -1,4 +1,4 @@
$Id: README,v 2.1 1998/08/03 17:23:57 gcosmo Exp $
$Id: README,v 1.2 1999/05/31 08:14:43 asaim Exp $
-------------------------------------------------------------------
=========================================================
@@ -8,18 +8,50 @@ $Id: README,v 2.1 1998/08/03 17:23:57 gcosmo Exp $
Examples module
---------------
This module collects two sets of user examples aimed to demonstrate to
This module collects three sets of user examples aimed to demonstrate to
the user how to make correct use of the GEANT4 toolkit by implementing
in a correct way those user-classes which the user is supposed to
customize in order to define his/her own simulation setup.
One set of examples is oriented to "novice" users and covering all
possible general use-cases typical of an "application"-oriented kind of
development. An "advanced" set of examples (not yet available at the
current time), will cover the use-cases typical of a "toolkit"-oriented
kind of development.
development. An "Extended" set of examples require some additional
libraries besides of Geant4. This set covers some realistic use cases
for actual detector simulation for HEP. An "advanced" set of examples
(not yet available at the current time), will cover the use-cases typical
of a "toolkit"-oriented kind of development.
Most of the examples can be run both in interactive and batch mode, and
input macro files (*.in) and reference output files (*.out) are provided.
These examples are considered part of the validation procedure for the
official releases of the GEANT4 toolkit, as "acceptance"-testing phase
of the validation process.
Novice level examples
ExampleN01
- Mandatory user classes
- Demonstrates how Geant4 kernel works
ExampleN02
- Simplified tracker geometry with uniform magnetic field
- Electromagnetic processes
ExampleN03
- Simplified calorimeter geometry
- Electromagnetic processes
- Various materials
ExampleN04
- Simplified collider detector with a readout geometry
- Full "ordinary" processes
- PYTHIA primary events
- Event filtering by stack
ExampleN05
- Simplified BaBar calorimeter
- EM shower parametrisation
ExampleN06
- Optical photon processes
Extended level examples
ExampleE01
- CLHEP histogramming
ExampleE02
- Persistency by HepODBMS (CERN RD45)
ExampleE03
- STEP geometry interface
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.0 1998/07/02 14:05:11 gunter Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:17 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+1 -1
View File
@@ -1,4 +1,4 @@
$Id: README,v 2.0 1998/07/02 14:05:17 gunter Exp $
$Id: README,v 1.1 1999/01/07 16:05:17 gunter Exp $
-------------------------------------------------------------------
=========================================================
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1998/10/14 15:18:56 allison Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:17 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98.
# --------------------------------------------------------------
+5 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.1 1998/10/14 15:18:57 allison Exp $
$Id: History,v 1.2 1999/04/17 04:06:40 kurasige Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,10 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17 Apr., 1999 H.Kurashige
- Modify SetCuts() and ConstructParticle() in ExE0101PhysicsList
- Modify BeginOfRunAction() and EndOfRunAction() in ExE0101RunAction
- Modify UserSteppingAction() in ExE0101SteppingAction
14th October 1998 John Allison
- Moved from N07.
+1 -1
View File
@@ -1,4 +1,4 @@
$Id: README,v 1.1 1998/10/14 15:18:57 allison Exp $
$Id: README,v 1.1 1999/01/07 16:05:17 gunter Exp $
-------------------------------------------------------------------
=========================================================
+1 -1
View File
@@ -1,4 +1,4 @@
// $Id: exampleE01.cc,v 1.2 1998/12/08 16:37:23 allison Exp $
// $Id: exampleE01.cc,v 1.1 1999/01/07 16:05:17 gunter Exp $
#include "ExE01DetectorConstruction.hh"
#include "ExE01RunAction.hh"
@@ -1,4 +1,4 @@
// $Id: ExE01PhysicsList.hh,v 1.1 1998/10/14 15:19:38 allison Exp $
// $Id: ExE01PhysicsList.hh,v 1.2 1999/04/17 04:06:41 kurasige Exp $
// ------------------------------------------------------------
#ifndef ExE01PhysicsList_h
#define ExE01PhysicsList_h 1
@@ -18,7 +18,7 @@ class ExE01PhysicsList: public G4VUserPhysicsList
virtual void ConstructProcess();
//
virtual void SetCuts(G4double cut);
virtual void SetCuts();
protected:
// these methods Construct particles
@@ -1,4 +1,4 @@
// $Id: ExE01RunAction.hh,v 1.1 1998/10/14 15:19:39 allison Exp $
// $Id: ExE01RunAction.hh,v 1.3 1999/04/22 21:49:17 asaim Exp $
#ifndef ExE01RunAction_h
#define ExE01RunAction_h 1
@@ -13,18 +13,16 @@ class G4Run;
class ExE01RunAction : public G4UserRunAction
{
public:
ExE01RunAction() { runIDcounter = 0; }
~ExE01RunAction() {}
ExE01RunAction() { }
virtual ~ExE01RunAction() {}
void BeginOfRunAction(G4Run* aRun);
void EndOfRunAction(G4Run* aRun);
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
static HepRef(Histo1D) get_1d() { return myHisto1D; }
static HepRef(Histo2D) Get2d() { return myHisto2D; }
private:
G4int runIDcounter;
static HepRef(Histo1D) myHisto1D;
static HepRef(Histo2D) myHisto2D;
@@ -1,4 +1,4 @@
// $Id: ExE01SteppingAction.hh,v 1.1 1998/10/14 15:19:40 allison Exp $
// $Id: ExE01SteppingAction.hh,v 1.2 1999/04/17 04:06:43 kurasige Exp $
#ifndef ExE01SteppingAction_h
#define ExE01SteppingAction_h 1
@@ -16,9 +16,9 @@ class ExE01SteppingAction : public G4UserSteppingAction {
public:
ExE01SteppingAction(){};
~ExE01SteppingAction(){};
virtual ~ExE01SteppingAction(){};
void UserSteppingAction();
virtual void UserSteppingAction(const G4Step*);
};
#endif
@@ -1,4 +1,4 @@
// $Id: ExE01PhysicsList.cc,v 1.1 1998/10/14 15:20:10 allison Exp $
// $Id: ExE01PhysicsList.cc,v 1.2 1999/04/17 04:06:46 kurasige Exp $
#include "globals.hh"
#include "ExE01PhysicsList.hh"
@@ -108,8 +108,9 @@ void ExE01PhysicsList::ConstructEM()
}
}
void ExE01PhysicsList::SetCuts(G4double cut)
void ExE01PhysicsList::SetCuts()
{
G4double cut = defaultCutValue;
if (verboseLevel >0){
G4cout << "ExE01PhysicsList::SetCuts:";
G4cout << "CutLength : " << cut/mm << " (mm)" << endl;
+3 -5
View File
@@ -1,4 +1,4 @@
// $Id: ExE01RunAction.cc,v 1.1 1998/10/14 15:20:12 allison Exp $
// $Id: ExE01RunAction.cc,v 1.3 1999/04/22 21:49:21 asaim Exp $
#include "ExE01RunAction.hh"
#include "G4Run.hh"
@@ -8,10 +8,8 @@
HepRef(Histo1D) ExE01RunAction::myHisto1D;
HepRef(Histo2D) ExE01RunAction::myHisto2D;
void ExE01RunAction::BeginOfRunAction(G4Run* aRun)
void ExE01RunAction::BeginOfRunAction(const G4Run* aRun)
{
aRun->SetRunID(runIDcounter++);
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/event/Verbose 0");
UI->ApplyCommand("/tracking/Verbose 0");
@@ -36,7 +34,7 @@ void ExE01RunAction::BeginOfRunAction(G4Run* aRun)
Histo2D("HepJamesVsDRand48", nBins2d, xlow, xhigh, nBins2d, ylow, yhigh);
}
void ExE01RunAction::EndOfRunAction(G4Run* aRun)
void ExE01RunAction::EndOfRunAction(const G4Run*)
{
// Print histograms
HistPrintout p(G4cout);
@@ -1,9 +1,9 @@
// $Id: ExE01SteppingAction.cc,v 1.1 1998/10/14 15:20:14 allison Exp $
// $Id: ExE01SteppingAction.cc,v 1.2 1999/04/17 04:06:49 kurasige Exp $
#include "ExE01SteppingAction.hh"
#include "ExE01RunAction.hh"
void ExE01SteppingAction::UserSteppingAction(){
void ExE01SteppingAction::UserSteppingAction(const G4Step*){
HepRef(Histo1D) h1 = ExE01RunAction::get_1d();
HepRef(Histo2D) h2 = ExE01RunAction::Get2d();
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1998/10/14 15:23:06 allison Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:20 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98.
# --------------------------------------------------------------
+7 -2
View File
@@ -1,11 +1,11 @@
$Id: History,v 1.2 1998/11/14 13:39:47 morita Exp $
$Id: History,v 1.2 1999/04/17 04:50:00 kurasige Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Novice Example 07 History file
Extended Example 02 History file
------------------------------
This file should be used by the test developer to briefly
summarize all major modifications introduced in the code and keep
@@ -14,6 +14,11 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17 Apr., 1999 H.Kurashige
- Modify SetCuts() and ConstructParticle() in ExE02PhysicsList
- Modify BeginOfRunAction() and EndOfRunAction() in ExE02RunAction
- Modify ClassifyNewTrack() in ExE02StackingAction
- Modify BeginOfEventAction() and EndOfEventAction() in ExN02EventAction
14th November 1998 Y.Morita
- Modified from N08 to E02 (exampleE02-00-03-01)
+37 -22
View File
@@ -1,4 +1,4 @@
$Id: README,v 1.3 1998/11/12 11:15:42 morita Exp $
$Id: README,v 1.2 1999/04/29 09:04:55 morita Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,57 +14,68 @@ the avaiability of HepODBMS and Objectivity/DB.
To use HepODBMS and underlying Objectivity/DB package, user needs
a deep knowledge of the object database and environmental set
procedures, which is lacking in this release. The code is provided
here to give just a brief idea of the persistency in using Geant4.
procedures. The code is provided here to give just a brief idea
of using the persistency in Geant4.
How to build:
- Setup:
In addition to Geant4 standard setup, HepODBMS, Objectivity/DB and
federated database variables should be defined.
In addition to the standard Geant4 setup, additional setup for
HepODBMS, Objectivity/DB and federated database should be defined.
For CERN AFS users, an example setup script "g4odbms_setup.csh" is
provided in this directory. Put a line such as
source ${G4INSTALL}/tests/exampleE02/g4odbms_setup.csh
source ${G4INSTALL}/examples/extended/E02/g4odbms_setup.csh
in your .cshrc file, where ${G4INSTALL} is the actual location of
the Geant4 package.
- Objectivity/DB boot file and lock server
Boot file contains a database schema information of some basic
Boot file is a set of configuration file and baseline federated database
file which contain database schema information of some basic
HepODBMS and Objectivity/DB classes. Each time you compile your
own persistent-capable class, a schema is compiled into your
local copy of boot file. User must compile the Geant4 persistent
capable schema into your local copy of the boot file.
Default location is $HOME/G4EXAMPLE. If you want to have it
to other location, define the following variables in your .cshrc.
local copy of federeated database.
When creating a persistency library of Geant4, Geant4-specific persistent
classes will be compiled into your local copy of the boot file.
Default location of the Geant4 boot file is $HOME/G4EXAMPLE.
You may want to change the definition of this temporary boot
file in your .cshrc.
example:
setenv G4EXAMPLE_BOOT_DIR ${HOME}/tmp/G4EXAMPLE
setenv G4EXAMPLE_BOOT ${G4EXAMPLE_BOOT_DIR}/G4EXAMPLE
For each boot file, user must have unique federated database ID (FDID).
For each boot file, you must have unique federated database ID (FDID).
This number can be obtained from your local manager of Objectivity
lock server. Define G4EXAMPLE_FDID in your .cshrc.
example:
setenv G4EXAMPLE_FDID 501
The system also have Objectivity/DB lock server running. For the
CERN AFS users, see the notes below, for other systems, contact your
local system manager for the lock server configuration.
To compile the schema and to build the library, you also need an
access to Objectivity/DB lock server. For the CERN AFS users, see
the notes below, for other systems, contact your local system manager
for the lock server configuration.
Then type,
gmake cleandb
to create your own boot file.
to create your local copy of Geant4 boot file.
___________________________________________________________________________
Note: On CERN AFS, user must run his/her own lock server process
due to a technical limitation on AFS and Objectivity.
Note: On CERN AFS, contact your group system administrator to obtain access
to your group lock server. If you want to run this example on your
own, you must run your own lock server process on the same machine as
you run the executable program, due to a technical limitation on AFS
and Objectivity.
To start your own lock server process,
oocheckls -notitle `hostname` || \
oolockserver -notitle -noauto `hostname`::${G4EXAMPLE_BOOT}
@@ -83,8 +94,12 @@ Note: On CERN AFS, user must run his/her own lock server process
or
kill -9 <pid_of_ools>
User must have AFS ACL access enabled to HepODBMS and
Objectivity/DB directories.
You must have AFS ACL access to HepODBMS and Objectivity/DB
directories.
At CERN, the FDID allocation table is given in this URL:
http://wwwinfo.cern.ch/asd/rd45/white-papers/9804/FDIDAllocation.html
___________________________________________________________________________
- libG4persistency.a
@@ -130,7 +145,7 @@ To browse the contents, use "ootoolmgr".
ootoolmgr -notitle G4EXAMPLE &
Make sure to terminate ootoolmgr when you finish browsing.
Otherwise lockserver will remember the browsing as a transaction,
and the further updates to the database will be blocked.
Otherwise lockserver will remember the browsing by ootoolmgr as
a "transaction", and the further updates to the database will be blocked.
--
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: exampleE02.cc,v 1.3 1998/12/08 16:37:24 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: exampleE02.cc,v 1.1 1999/01/07 16:05:21 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// --------------------------------------------------------------
+17 -16
View File
@@ -1,27 +1,28 @@
#! /bin/csh -f
# setup some variables (example on CERN AFS SUN-CC)
set CWD = `pwd`
set G4ROOT = ${CWD}/../../..
set G4BIN = ${G4ROOT}/bin/SUN-CC
set G4SCHEMA_DIR = ${G4ROOT}/schema
# check some configurations
if ( ! $?G4EXAMPLE_FDID ) then
echo "G4EXAMPLE_FDID is not defined. Stop."
exit 2
endif
# setup some variables
if ( ! $?G4EXAMPLE_BOOT ) then
echo "G4EXAMPLE_BOOT is not defined. Stop."
exit 2
endif
set CWD = `pwd`
set G4SYSTEM = AIX-AFS
set G4BIN = ${CWD}/../../../bin/${G4SYSTEM}
set G4SCHEMA_DIR = ${CWD}/../../../schema
#### remove used database files
###
###set file = ${G4EXAMPLE_BOOT} ; if (-e $file) rm $file
###set file = ${G4EXAMPLE_BOOT}.FDDB ; if (-e $file) rm $file
###cd $G4EXAMPLE_BOOT_DIR
###rm -f Events.*.DB Geometry.*.DB System.*.DB core
###
###echo "Creating a federated database $G4EXAMPLE_BOOT"
###${HEP_ODBMS_DIR}/etc/getdb \
###${G4SCHEMA_DIR}/G4SCHEMA $G4EXAMPLE_BOOT $G4EXAMPLE_FDID
if ( ! -e $G4EXAMPLE_BOOT ) then
echo "G4EXAMPLE_BOOT is not found. Run "gmake cleandb" first."
exit 2
endif
# Since the name of the federated database file G4EXAMPLE is hard
# coded into the executable for now, it is neccessary to run it in
+5 -2
View File
@@ -10,13 +10,16 @@
# ----- Objectivity variables setup
setenv OBJY_VERS 4.0.2
if ( ! $?OBJY_VERS ) then
setenv OBJY_VERS 4.0.2
endif
if ( -r /afs/cern.ch/rd45/objectivity/objyenv.csh ) then
echo "Setting up OBJY_VERS $OBJY_VERS ..."
source /afs/cern.ch/rd45/objectivity/objyenv.csh
endif
# ----- HepODBMS variables setup
setenv HEP_ODBMS_DIR /afs/cern.ch/sw/lhcxx/specific/ibm/HepODBMS/0.0
setenv HEP_ODBMS_DIR /afs/cern.ch/sw/lhcxx/specific/@sys/HepODBMS/0.0
setenv HEP_ODBMS_INCLUDES ${HEP_ODBMS_DIR}/include
@@ -9,11 +9,11 @@ class ExE02EventAction : public G4UserEventAction
{
public:
ExE02EventAction();
~ExE02EventAction();
virtual ~ExE02EventAction();
public:
void BeginOfEventAction();
void EndOfEventAction();
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
private:
G4int colID1;
@@ -1,4 +1,4 @@
// $Id: ExE02PhysicsList.hh,v 1.1 1998/10/14 15:25:44 allison Exp $
// $Id: ExE02PhysicsList.hh,v 1.2 1999/04/17 04:50:02 kurasige Exp $
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -26,7 +26,7 @@ class ExE02PhysicsList: public G4VUserPhysicsList
virtual void ConstructProcess();
//
virtual void SetCuts(G4double aCut);
virtual void SetCuts();
protected:
// these methods Construct particles
@@ -11,14 +11,13 @@ class ExE02RunAction : public G4UserRunAction
{
public:
ExE02RunAction();
~ExE02RunAction();
virtual ~ExE02RunAction();
public:
void BeginOfRunAction(G4Run* aRun);
void EndOfRunAction(G4Run* aRun);
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
private:
G4int runIDcounter;
};
#endif
@@ -13,12 +13,12 @@ class ExE02StackingAction : public G4UserStackingAction
{
public:
ExE02StackingAction();
~ExE02StackingAction();
virtual ~ExE02StackingAction();
public:
G4ClassificationOfNewTrack ClassifyNewTrack(G4Track *const aTrack);
void NewStage();
void PrepareNewEvent();
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track* aTrack);
virtual void NewStage();
virtual void PrepareNewEvent();
};
@@ -19,7 +19,7 @@ ExE02EventAction::ExE02EventAction()
ExE02EventAction::~ExE02EventAction()
{;}
void ExE02EventAction::BeginOfEventAction()
void ExE02EventAction::BeginOfEventAction(const G4Event* )
{
if(colID1<0||colID2<0)
{
@@ -30,10 +30,8 @@ void ExE02EventAction::BeginOfEventAction()
}
}
void ExE02EventAction::EndOfEventAction()
void ExE02EventAction::EndOfEventAction(const G4Event* evt)
{
const G4Event* evt = fpEventManager->GetConstCurrentEvent();
G4cout << ">>> Event " << evt->GetEventID() << endl;
G4HCofThisEvent * HCE = evt->GetHCofThisEvent();
+27 -106
View File
@@ -1,4 +1,4 @@
// $Id: ExE02PhysicsList.cc,v 1.1 1998/10/14 15:26:10 allison Exp $
// $Id: ExE02PhysicsList.cc,v 1.2 1999/04/17 04:50:07 kurasige Exp $
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -16,6 +16,11 @@
#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 "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4ios.hh"
@@ -47,110 +52,40 @@ void ExE02PhysicsList::ConstructParticle()
void ExE02PhysicsList::ConstructBosons()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
// Construct all bosons
G4BosonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE02PhysicsList::ConstructLeptons()
{
// leptons
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4TauMinus::TauMinusDefinition();
G4TauPlus::TauPlusDefinition();
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4NeutrinoTau::NeutrinoTauDefinition();
G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
// Construct all leptons
G4LeptonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE02PhysicsList::ConstructMesons()
{
// mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
G4AntiKaonZero::AntiKaonZeroDefinition();
G4KaonZeroLong::KaonZeroLongDefinition();
G4KaonZeroShort::KaonZeroShortDefinition();
G4DMesonPlus::DMesonPlusDefinition();
G4DMesonMinus::DMesonMinusDefinition();
G4DMesonZero::DMesonZeroDefinition();
G4AntiDMesonZero::AntiDMesonZeroDefinition();
G4DsMesonPlus::DsMesonPlusDefinition();
G4DsMesonMinus::DsMesonMinusDefinition();
G4JPsi::JPsiDefinition();
G4BMesonPlus::BMesonPlusDefinition();
G4BMesonMinus::BMesonMinusDefinition();
G4BMesonZero::BMesonZeroDefinition();
G4AntiBMesonZero::AntiBMesonZeroDefinition();
G4BsMesonZero::BsMesonZeroDefinition();
G4AntiBsMesonZero::AntiBsMesonZeroDefinition();
// Construct all mesons
G4MesonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE02PhysicsList::ConstructBarions()
{
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
G4Lambda::LambdaDefinition();
G4AntiLambda::AntiLambdaDefinition();
G4SigmaZero::SigmaZeroDefinition();
G4AntiSigmaZero::AntiSigmaZeroDefinition();
G4SigmaPlus::SigmaPlusDefinition();
G4AntiSigmaPlus::AntiSigmaPlusDefinition();
G4SigmaMinus::SigmaMinusDefinition();
G4AntiSigmaMinus::AntiSigmaMinusDefinition();
G4XiZero::XiZeroDefinition();
G4AntiXiZero::AntiXiZeroDefinition();
G4XiMinus::XiMinusDefinition();
G4AntiXiMinus::AntiXiMinusDefinition();
G4OmegaMinus::OmegaMinusDefinition();
G4AntiOmegaMinus::AntiOmegaMinusDefinition();
G4LambdacPlus::LambdacPlusDefinition();
G4SigmacPlusPlus::SigmacPlusPlusDefinition();
G4SigmacPlus::SigmacPlusDefinition();
G4SigmacZero::SigmacZeroDefinition();
G4XicPlus::XicPlusDefinition();
G4XicZero::XicZeroDefinition();
G4OmegacZero::OmegacZeroDefinition();
G4AntiLambdacPlus::AntiLambdacPlusDefinition();
G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition();
G4AntiSigmacPlus::AntiSigmacPlusDefinition();
G4AntiSigmacZero::AntiSigmacZeroDefinition();
G4AntiXicPlus::AntiXicPlusDefinition();
G4AntiXicZero::AntiXicZeroDefinition();
G4AntiOmegacZero::AntiOmegacZeroDefinition();
// Construct all barions
G4BarionConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE02PhysicsList::ConstructIons()
{
// nuclei
G4Alpha::AlphaDefinition();
G4Deuteron::DeuteronDefinition();
G4Triton::TritonDefinition();
// Construct light ions
G4IonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE02PhysicsList::ConstructProcess()
{
AddTransportation();
@@ -246,29 +181,15 @@ void ExE02PhysicsList::ConstructGeneral()
}
}
void ExE02PhysicsList::SetCuts(G4double cut)
void ExE02PhysicsList::SetCuts()
{
if (verboseLevel >0){
G4cout << "ExE02PhysicsList::SetCuts:";
G4cout << "CutLength : " << cut/mm << " (mm)" << endl;
G4cout << "CutLength : " << defaultCutValue/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();
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
}
+3 -5
View File
@@ -8,17 +8,15 @@
ExE02RunAction::ExE02RunAction()
{
runIDcounter = 0;
}
ExE02RunAction::~ExE02RunAction()
{
}
void ExE02RunAction::BeginOfRunAction(G4Run* aRun)
void ExE02RunAction::BeginOfRunAction(const G4Run* aRun)
{
aRun->SetRunID(runIDcounter++);
if(runIDcounter==1)
if(aRun->GetRunID()==0)
{
G4VPersistencyManager* persM
= G4VPersistencyManager::GetPersistencyManager();
@@ -32,7 +30,7 @@ void ExE02RunAction::BeginOfRunAction(G4Run* aRun)
}
}
void ExE02RunAction::EndOfRunAction(G4Run* aRun)
void ExE02RunAction::EndOfRunAction(const G4Run* )
{
}
@@ -13,7 +13,7 @@ ExE02StackingAction::~ExE02StackingAction()
{;}
G4ClassificationOfNewTrack
ExE02StackingAction::ClassifyNewTrack(G4Track *const aTrack)
ExE02StackingAction::ClassifyNewTrack(const G4Track * aTrack)
{
G4ClassificationOfNewTrack classification = fKill;
if(aTrack->GetParentID()==0)
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 1998/10/14 15:54:47 allison Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:24 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for tests module. Gabriele Cosmo, 27/06/98.
# --------------------------------------------------------------
+5 -2
View File
@@ -1,11 +1,11 @@
$Id: History,v 1.1 1998/10/14 15:54:47 allison Exp $
$Id: History,v 1.2 1999/04/17 05:27:10 kurasige Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Novice Example 09 History file
Extended Example 03 History file
------------------------------
This file should be used by the test developer to briefly
summarize all major modifications introduced in the code and keep
@@ -14,6 +14,9 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17 Apr., 1999 H.Kurashige
- Modify SetCuts() and ConstructParticle() in ExE03PhysicsList
- Modify BeginOfRunAction() and EndOfRunAction() in ExE03RunAction
14th October 1998 John Allison
- Moved from N09.
+1 -1
View File
@@ -1,4 +1,4 @@
$Id: README,v 1.1 1998/10/14 15:54:48 allison Exp $
$Id: README,v 1.1 1999/01/07 16:05:25 gunter Exp $
-------------------------------------------------------------------
=========================================================
+1 -1
View File
@@ -1,4 +1,4 @@
// $Id: exampleE03.cc,v 1.2 1998/12/08 16:37:25 allison Exp $
// $Id: exampleE03.cc,v 1.1 1999/01/07 16:05:25 gunter Exp $
#include "ExE03DetectorConstruction.hh"
#include "ExE03RunAction.hh"
#include "ExE03PrimaryGeneratorAction.hh"
@@ -1,4 +1,4 @@
// $Id: ExE03PhysicsList.hh,v 1.1 1998/10/14 15:55:45 allison Exp $
// $Id: ExE03PhysicsList.hh,v 1.2 1999/04/17 05:27:11 kurasige Exp $
// ------------------------------------------------------------
#ifndef ExE03PhysicsList_h
#define ExE03PhysicsList_h 1
@@ -18,7 +18,7 @@ class ExE03PhysicsList: public G4VUserPhysicsList
virtual void ConstructProcess();
//
virtual void SetCuts(G4double aCut);
virtual void SetCuts();
protected:
// these methods Construct particles
@@ -41,3 +41,7 @@ class ExE03PhysicsList: public G4VUserPhysicsList
@@ -12,15 +12,14 @@ class ExE03RunAction : public G4UserRunAction
{
public:
ExE03RunAction();
~ExE03RunAction();
virtual ~ExE03RunAction();
public:
void BeginOfRunAction(G4Run* aRun);
void EndOfRunAction(G4Run* aRun);
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
private:
G4Timer* timer;
G4int runIDcounter;
};
#endif
+29 -108
View File
@@ -1,4 +1,4 @@
// $Id: ExE03PhysicsList.cc,v 1.1 1998/10/14 15:56:09 allison Exp $
// $Id: ExE03PhysicsList.cc,v 1.2 1999/04/17 05:27:14 kurasige Exp $
#include "globals.hh"
#include "ExE03PhysicsList.hh"
@@ -8,6 +8,11 @@
#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 "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4ios.hh"
@@ -34,115 +39,45 @@ void ExE03PhysicsList::ConstructParticle()
ConstructLeptons();
ConstructMesons();
ConstructBarions();
ConstructIons();
}
void ExE03PhysicsList::ConstructBosons()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
G4ChargedGeantino::ChargedGeantinoDefinition();
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
// Construct all bosons
G4BosonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE03PhysicsList::ConstructLeptons()
{
// leptons
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
G4TauMinus::TauMinusDefinition();
G4TauPlus::TauPlusDefinition();
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
G4NeutrinoTau::NeutrinoTauDefinition();
G4AntiNeutrinoTau::AntiNeutrinoTauDefinition();
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
// Construct all leptons
G4LeptonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE03PhysicsList::ConstructMesons()
{
// mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
G4Eta::EtaDefinition();
G4KaonPlus::KaonPlusDefinition();
G4KaonMinus::KaonMinusDefinition();
G4KaonZero::KaonZeroDefinition();
G4AntiKaonZero::AntiKaonZeroDefinition();
G4KaonZeroLong::KaonZeroLongDefinition();
G4KaonZeroShort::KaonZeroShortDefinition();
G4DMesonPlus::DMesonPlusDefinition();
G4DMesonMinus::DMesonMinusDefinition();
G4DMesonZero::DMesonZeroDefinition();
G4AntiDMesonZero::AntiDMesonZeroDefinition();
G4DsMesonPlus::DsMesonPlusDefinition();
G4DsMesonMinus::DsMesonMinusDefinition();
G4JPsi::JPsiDefinition();
G4BMesonPlus::BMesonPlusDefinition();
G4BMesonMinus::BMesonMinusDefinition();
G4BMesonZero::BMesonZeroDefinition();
G4AntiBMesonZero::AntiBMesonZeroDefinition();
G4BsMesonZero::BsMesonZeroDefinition();
G4AntiBsMesonZero::AntiBsMesonZeroDefinition();
// Construct all mesons
G4MesonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE03PhysicsList::ConstructBarions()
{
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
G4Lambda::LambdaDefinition();
G4AntiLambda::AntiLambdaDefinition();
G4SigmaZero::SigmaZeroDefinition();
G4AntiSigmaZero::AntiSigmaZeroDefinition();
G4SigmaPlus::SigmaPlusDefinition();
G4AntiSigmaPlus::AntiSigmaPlusDefinition();
G4SigmaMinus::SigmaMinusDefinition();
G4AntiSigmaMinus::AntiSigmaMinusDefinition();
G4XiZero::XiZeroDefinition();
G4AntiXiZero::AntiXiZeroDefinition();
G4XiMinus::XiMinusDefinition();
G4AntiXiMinus::AntiXiMinusDefinition();
G4OmegaMinus::OmegaMinusDefinition();
G4AntiOmegaMinus::AntiOmegaMinusDefinition();
G4LambdacPlus::LambdacPlusDefinition();
G4SigmacPlusPlus::SigmacPlusPlusDefinition();
G4SigmacPlus::SigmacPlusDefinition();
G4SigmacZero::SigmacZeroDefinition();
G4XicPlus::XicPlusDefinition();
G4XicZero::XicZeroDefinition();
G4OmegacZero::OmegacZeroDefinition();
G4AntiLambdacPlus::AntiLambdacPlusDefinition();
G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition();
G4AntiSigmacPlus::AntiSigmacPlusDefinition();
G4AntiSigmacZero::AntiSigmacZeroDefinition();
G4AntiXicPlus::AntiXicPlusDefinition();
G4AntiXicZero::AntiXicZeroDefinition();
G4AntiOmegacZero::AntiOmegacZeroDefinition();
// Construct all barions
G4BarionConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE03PhysicsList::ConstructIons()
{
// nuclei
G4Alpha::AlphaDefinition();
G4Deuteron::DeuteronDefinition();
G4Triton::TritonDefinition();
// Construct light ions
G4IonConstructor pConstructor;
pConstructor.ConstructParticle();
}
void ExE03PhysicsList::ConstructProcess()
{
AddTransportation();
@@ -238,29 +173,15 @@ void ExE03PhysicsList::ConstructGeneral()
}
}
void ExE03PhysicsList::SetCuts(G4double cut)
void ExE03PhysicsList::SetCuts()
{
if (verboseLevel >0){
G4cout << "ExE03PhysicsList::SetCuts:";
G4cout << "CutLength : " << cut/mm << " (mm)" << endl;
G4cout << "CutLength : " << defaultCutValue/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();
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
}
+2 -5
View File
@@ -8,7 +8,6 @@
ExE03RunAction::ExE03RunAction()
{
timer = new G4Timer;
runIDcounter = 0;
}
ExE03RunAction::~ExE03RunAction()
@@ -16,10 +15,8 @@ ExE03RunAction::~ExE03RunAction()
delete timer;
}
void ExE03RunAction::BeginOfRunAction(G4Run* aRun)
void ExE03RunAction::BeginOfRunAction(const G4Run* aRun)
{
aRun->SetRunID(runIDcounter++);
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/event/Verbose 1");
UI->ApplyCommand("/tracking/Verbose 1");
@@ -28,7 +25,7 @@ void ExE03RunAction::BeginOfRunAction(G4Run* aRun)
timer->Start();
}
void ExE03RunAction::EndOfRunAction(G4Run* aRun)
void ExE03RunAction::EndOfRunAction(const G4Run* aRun)
{
timer->Stop();
G4cout << "number of event = " << aRun->GetNumberOfEvent()
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.2 1998/10/14 15:47:16 allison Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:39 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.1 1998/07/02 15:26:45 gunter Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:40 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile.light,v 2.1 1998/07/23 07:15:18 gcosmo Exp $
# $Id: GNUmakefile.light,v 1.1 1999/01/07 16:05:40 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+3 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 2.0 1998/07/02 14:05:34 gunter Exp $
$Id: History,v 1.2 1999/04/16 10:48:47 kurasige Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,8 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
16th April 1999 H.Kurashige
- modify ExN01PhysicsList::SetCuts
May 07, 98 M.Asai
- First commitment of all classes.
+1 -1
View File
@@ -1,4 +1,4 @@
$Id: README,v 2.1 1998/09/27 07:19:57 asaim Exp $
$Id: README,v 1.1 1999/01/07 16:05:40 gunter Exp $
-------------------------------------------------------------------
=========================================================
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: exampleN01.cc,v 2.3 1998/12/08 16:37:27 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: exampleN01.cc,v 1.1 1999/01/07 16:05:41 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// --------------------------------------------------------------
+1 -1
View File
@@ -188,5 +188,5 @@ Terminate current event processing.
Run terminated.
Run Summary
Number of events processed : 3
User=0.05s Real=0.0666667s Sys=0.0166667s
User=0.11s Real=0.13s Sys=0.02s
G4 kernel has come to Quit state.
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01DetectorConstruction.hh,v 2.1 1998/07/12 02:40:52 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01DetectorConstruction.hh,v 1.1 1999/01/07 16:05:41 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#ifndef ExN01DetectorConstruction_H
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01PhysicsList.hh,v 2.1 1998/07/12 02:40:52 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01PhysicsList.hh,v 1.2 1999/04/16 10:48:49 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
//
@@ -36,7 +36,7 @@ class ExN01PhysicsList: public G4VUserPhysicsList
// Construct particle and physics process
void ConstructParticle();
void ConstructProcess();
void SetCuts(G4double cut);
void SetCuts();
};
@@ -44,3 +44,7 @@ class ExN01PhysicsList: public G4VUserPhysicsList
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01PrimaryGeneratorAction.hh,v 2.1 1998/07/12 02:40:53 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01PrimaryGeneratorAction.hh,v 1.1 1999/01/07 16:05:42 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#ifndef ExN01PrimaryGeneratorAction_h
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01DetectorConstruction.cc,v 1.1 1998/11/14 20:52:38 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01DetectorConstruction.cc,v 1.1 1999/01/07 16:05:42 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#include "ExN01DetectorConstruction.hh"
+8 -20
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01PhysicsList.cc,v 1.1 1998/11/14 20:52:42 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01PhysicsList.cc,v 1.2 1999/04/16 10:48:50 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -37,27 +37,15 @@ void ExN01PhysicsList::ConstructProcess()
AddTransportation();
}
void ExN01PhysicsList::SetCuts(G4double cut)
void ExN01PhysicsList::SetCuts()
{
// uppress error messages even in case e/gamma/proton do not exist
G4int temp = GetVerboseLevel();
SetVerboseLevel(0);
// 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");
// set a cut value to all particles
G4int temp = GetVerboseLevel(); SetVerboseLevel(0);
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
SetCutValueForOthers(cut);
// Retrieve verbose level
SetVerboseLevel(temp);
}
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN01PrimaryGeneratorAction.cc,v 1.1 1998/11/14 20:52:45 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN01PrimaryGeneratorAction.cc,v 1.1 1999/01/07 16:05:42 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#include "ExN01PrimaryGeneratorAction.hh"
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.1 1998/07/02 15:26:52 gunter Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:42 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 2.13 1998/12/08 16:37:28 allison Exp $
$Id: History,v 1.2 1999/04/16 11:19:54 kurasige Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,6 +14,9 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
16th April 1999 H.Kurashige
- modify ExN02SteppingAction::UserSteppingAction
- modify ExN02PhysicsList::SetCuts
4th December 1998 John Apostolakis
+1 -1
View File
@@ -1,4 +1,4 @@
$Id: README,v 2.4 1998/10/09 14:27:35 japost Exp $
$Id: README,v 1.1 1999/01/07 16:05:43 gunter Exp $
-------------------------------------------------------------------
=========================================================
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: exampleN02.cc,v 2.11 1998/12/08 16:37:28 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: exampleN02.cc,v 1.1 1999/01/07 16:05:43 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// --------------------------------------------------------------
+1 -3
View File
@@ -7,9 +7,7 @@
/gun/particle e+
/run/beamOn 1
/run/beamOn 10
/tracking/verbose 0
/run/beamOn 100
# /run/beamOn 1000
exit
File diff suppressed because it is too large Load Diff
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02ChamberParameterisation.hh,v 1.2 1998/11/30 17:18:43 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02ChamberParameterisation.hh,v 1.1 1999/01/07 16:05:46 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// A parameterisation that describes a series of boxes along Z
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02DetectorConstruction.hh,v 1.3 1998/10/09 14:31:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02DetectorConstruction.hh,v 1.1 1999/01/07 16:05:46 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02DetectorMessenger.hh,v 1.3 1998/10/09 14:31:02 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02DetectorMessenger.hh,v 1.1 1999/01/07 16:05:46 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02EventAction.hh,v 1.3 1998/10/09 14:31:02 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02EventAction.hh,v 1.2 1999/04/24 09:38:03 asaim Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -24,8 +24,8 @@ class ExN02EventAction : public G4UserEventAction
~ExN02EventAction();
public:
void BeginOfEventAction();
void EndOfEventAction();
void BeginOfEventAction(const G4Event*);
void EndOfEventAction(const G4Event*);
private:
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02MagneticField.hh,v 1.1 1998/10/09 14:31:03 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02MagneticField.hh,v 1.1 1999/01/07 16:05:47 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// A class for control of the Magnetic Field of the detector.
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PhysicsList.hh,v 1.4 1998/10/09 14:31:03 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PhysicsList.hh,v 1.2 1999/04/16 11:19:56 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// ------------------------------------------------------------
@@ -52,8 +52,9 @@ class ExN02PhysicsList: public G4VUserPhysicsList
virtual void ConstructProcess();
//
virtual void SetCuts(G4double aCut);
virtual void SetCuts();
protected:
// these methods Construct particles
virtual void ConstructBosons();
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.3 1998/10/09 14:31:04 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PrimaryGeneratorAction.hh,v 1.1 1999/01/07 16:05:47 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorMessenger.hh,v 1.3 1998/10/09 14:31:05 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PrimaryGeneratorMessenger.hh,v 1.1 1999/01/07 16:05:47 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02RunAction.hh,v 1.3 1998/10/09 14:31:06 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02RunAction.hh,v 1.2 1999/04/16 11:19:56 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -22,11 +22,11 @@ class ExN02RunAction : public G4UserRunAction
{
public:
ExN02RunAction();
~ExN02RunAction();
virtual ~ExN02RunAction();
public:
void BeginOfRunAction(G4Run* aRun);
void EndOfRunAction(G4Run* aRun);
virtual void BeginOfRunAction(const G4Run* aRun);
virtual void EndOfRunAction(const G4Run* aRun);
private:
G4int runIDcounter;
@@ -34,3 +34,7 @@ class ExN02RunAction : public G4UserRunAction
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02SteppingAction.hh,v 1.3 1998/10/09 14:31:06 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02SteppingAction.hh,v 1.2 1999/04/16 11:19:57 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -23,9 +23,9 @@ class ExN02SteppingAction : public G4UserSteppingAction
{
public:
ExN02SteppingAction(ExN02DetectorConstruction* myDC,ExN02EventAction* myEA);
~ExN02SteppingAction(){};
virtual ~ExN02SteppingAction(){};
void UserSteppingAction();
virtual void UserSteppingAction(const G4Step*);
private:
ExN02DetectorConstruction* myDetector;
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02TrackerHit.hh,v 1.1 1998/10/09 14:31:07 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02TrackerHit.hh,v 1.1 1999/01/07 16:05:48 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#ifndef ExN02TrackerHit_h
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02TrackerSD.hh,v 1.1 1998/10/09 14:31:08 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02TrackerSD.hh,v 1.1 1999/01/07 16:05:48 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#ifndef ExN02TrackerSD_h
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02VisManager.hh,v 1.3 1998/10/09 14:31:09 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02VisManager.hh,v 1.2 1999/06/24 07:48:46 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -31,6 +31,8 @@
#ifndef ExN02VisManager_h
#define ExN02VisManager_h 1
#ifdef G4VIS_USE
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -48,3 +50,5 @@ private:
};
#endif
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02ChamberParameterisation.cc,v 1.1 1998/10/09 14:35:30 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02ChamberParameterisation.cc,v 1.1 1999/01/07 16:05:48 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#include "ExN02ChamberParameterisation.hh"
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02DetectorConstruction.cc,v 1.9 1998/12/04 21:26:12 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02DetectorConstruction.cc,v 1.1 1999/01/07 16:05:48 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02DetectorMessenger.cc,v 1.4 1998/10/09 14:35:32 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02DetectorMessenger.cc,v 1.1 1999/01/07 16:05:49 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
+4 -6
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02EventAction.cc,v 1.3 1998/10/09 14:35:32 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02EventAction.cc,v 1.2 1999/04/24 09:38:04 asaim Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -27,13 +27,11 @@ ExN02EventAction::ExN02EventAction()
ExN02EventAction::~ExN02EventAction()
{}
void ExN02EventAction::BeginOfEventAction()
void ExN02EventAction::BeginOfEventAction(const G4Event*)
{}
void ExN02EventAction::EndOfEventAction()
void ExN02EventAction::EndOfEventAction(const G4Event* evt)
{
const G4Event* evt = fpEventManager->GetConstCurrentEvent();
G4cout << ">>> Event " << evt->GetEventID() << endl;
G4TrajectoryContainer * trajectoryContainer = evt->GetTrajectoryContainer();
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02MagneticField.cc,v 1.2 1998/12/04 20:25:22 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02MagneticField.cc,v 1.1 1999/01/07 16:05:49 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// User Field class implementation.
+16 -28
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PhysicsList.cc,v 1.4 1998/10/09 14:35:33 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PhysicsList.cc,v 1.2 1999/04/16 11:19:59 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// ------------------------------------------------------------
@@ -40,7 +40,7 @@ ExN02PhysicsList::ExN02PhysicsList(): G4VUserPhysicsList(),
theeplusAnnihilation(NULL)
{
defaultCutValue = 2.0*mm;
SetVerboseLevel(1);
SetVerboseLevel(1);
}
ExN02PhysicsList::~ExN02PhysicsList()
@@ -69,28 +69,29 @@ void ExN02PhysicsList::ConstructBosons()
// gamma
G4Gamma::GammaDefinition();
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
}
void ExN02PhysicsList::ConstructLeptons()
{
// leptons
// e+/-
G4Electron::ElectronDefinition();
G4Positron::PositronDefinition();
// mu+/-
G4MuonPlus::MuonPlusDefinition();
G4MuonMinus::MuonMinusDefinition();
// nu_e
G4NeutrinoE::NeutrinoEDefinition();
G4AntiNeutrinoE::AntiNeutrinoEDefinition();
// nu_mu
G4NeutrinoMu::NeutrinoMuDefinition();
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
}
void ExN02PhysicsList::ConstructMesons()
{
// mesons
// mesons
// light mesons
G4PionPlus::PionPlusDefinition();
G4PionMinus::PionMinusDefinition();
G4PionZero::PionZeroDefinition();
@@ -107,9 +108,10 @@ void ExN02PhysicsList::ConstructMesons()
void ExN02PhysicsList::ConstructBarions()
{
// barions
// barions
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
}
@@ -262,27 +264,13 @@ void ExN02PhysicsList::ConstructGeneral()
}
}
void ExN02PhysicsList::SetCuts(G4double cut)
void ExN02PhysicsList::SetCuts()
{
if (verboseLevel >0){
if (verboseLevel >1){
G4cout << "ExN02PhysicsList::SetCuts:";
G4cout << "CutLength : " << cut/mm << " (mm)" << endl;
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
SetCutsWithDefault();
// 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();
}
}
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorAction.cc,v 1.3 1998/10/09 14:35:34 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PrimaryGeneratorAction.cc,v 1.1 1999/01/07 16:05:49 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// $ Id: $
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02PrimaryGeneratorMessenger.cc,v 1.3 1998/10/09 14:35:34 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02PrimaryGeneratorMessenger.cc,v 1.1 1999/01/07 16:05:50 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
+8 -5
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02RunAction.cc,v 1.3 1998/10/09 14:35:34 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02RunAction.cc,v 1.2 1999/04/16 11:20:00 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -26,9 +26,9 @@ ExN02RunAction::~ExN02RunAction()
{
}
void ExN02RunAction::BeginOfRunAction(G4Run* aRun)
void ExN02RunAction::BeginOfRunAction(const G4Run* aRun)
{
aRun->SetRunID(runIDcounter++);
((G4Run *)(aRun))->SetRunID(runIDcounter++);
G4cout << "### Run " << aRun->GetRunID() << " start." << endl;
@@ -46,7 +46,7 @@ void ExN02RunAction::BeginOfRunAction(G4Run* aRun)
void ExN02RunAction::EndOfRunAction(G4Run* aRun)
void ExN02RunAction::EndOfRunAction(const G4Run*)
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
@@ -56,3 +56,6 @@ void ExN02RunAction::EndOfRunAction(G4Run* aRun)
}
}
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02SteppingAction.cc,v 1.3 1998/10/09 14:35:35 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02SteppingAction.cc,v 1.2 1999/04/16 11:20:01 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -19,10 +19,8 @@ ExN02SteppingAction::ExN02SteppingAction(ExN02DetectorConstruction* myDC, ExN02E
:myDetector(myDC), eventAction(myEA)
{ }
void ExN02SteppingAction::UserSteppingAction()
void ExN02SteppingAction::UserSteppingAction(const G4Step* aStep)
{
G4Step* aStep = GetSteppingManager()->GetStep();
// collect the energy deposited in the absorber
const G4VPhysicalVolume* currentVolume = aStep->GetPreStepPoint()-> GetPhysicalVolume();
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02TrackerHit.cc,v 1.1 1998/10/09 14:35:35 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02TrackerHit.cc,v 1.1 1999/01/07 16:05:50 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#include "ExN02TrackerHit.hh"
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02TrackerSD.cc,v 1.1 1998/10/09 14:35:35 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02TrackerSD.cc,v 1.1 1999/01/07 16:05:50 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
#include "ExN02TrackerSD.hh"
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN02VisManager.cc,v 1.4 1998/11/30 10:21:31 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN02VisManager.cc,v 1.1 1999/01/07 16:05:51 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// John Allison 24th January 1998.
+1 -1
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 2.1 1998/07/02 15:26:53 gunter Exp $
# $Id: GNUmakefile,v 1.1 1999/01/07 16:05:51 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
+14 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 2.8 1998/10/30 12:30:12 maire Exp $
$Id: History,v 1.4 1999/05/31 14:48:07 maire Exp $
--------------------------------------------------
=========================================================
@@ -14,6 +14,19 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
31-05-99 Guy Barrand, Michel Maire
- introduce a command interface based on Motif: G4UIXm
16th April 1999 H.Kurashige
- modify ExN03SteppingAction::UserSteppingAction
- modify ExN03EventAction
- modify ExN03RunAction::BeginOfRunAction/EndOfRunAction
- Add cutForGamma/cutForElectron/cutForProton in ExN03PhysicsList
- modify ExN03PhysicsList::SetCuts
10-03-99 Michel Maire
- Choose RaneCu as the default random number generator.
- print the seed event%n
9-10-98 John Apostolakis
- This used to be example N02. It is now N03.
+19 -4
View File
@@ -1,4 +1,4 @@
$Id: README,v 2.2 1998/11/27 17:09:02 maire Exp $
$Id: README,v 1.2 1999/05/31 14:48:07 maire Exp $
-------------------------------------------------------------------
=========================================================
@@ -75,7 +75,7 @@ $Id: README,v 2.2 1998/11/27 17:09:02 maire Exp $
The Visualization Manager is set in the main().
The initialisation of the drawing is done via the command
/vis~/create_view in the macro prerunN03.mac. This macro is
a set of /vis commands in the macro prerunN03.mac. This macro is
automatically read from the main in case of interactive running mode.
The detector has a default view which is a longitudinal view of the
@@ -84,6 +84,11 @@ $Id: README,v 2.2 1998/11/27 17:09:02 maire Exp $
The tracks are drawn at the end of event, and erased at the end of run.
Optionaly one can choose to draw all particles, only the charged one,
or none. This command is defined in EventActionMessenger class.
NB: the visualization (with OpenGL) assumes two things:
1- the visualisation & interfaces categories have been compiled
with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX.
5- PHYSICS DEMO
@@ -97,8 +102,18 @@ $Id: README,v 2.2 1998/11/27 17:09:02 maire Exp $
As a homework try to visualize a gamma conversion alone,
or the effect of the multiple scattering.
6- HOW TO START ?
6- USER INTERFACES
The default command interface, called G4UIterminal, is done via
standart cin/G4cout.
On can use a Motif driven command interface (called G4UIXm) if:
1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION
2- exampleN03.cc has been compiled with G4UI_USE_XM.
7- HOW TO START ?
- compile and link to generate an executable
% cd N03
+21 -13
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: exampleN03.cc,v 2.9 1998/12/08 16:37:30 allison Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: exampleN03.cc,v 1.7 1999/06/04 12:50:35 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
// --------------------------------------------------------------
@@ -23,6 +23,8 @@
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UIXm.hh"
#include "Randomize.hh"
#ifdef G4VIS_USE
#include "ExN03VisManager.hh"
@@ -34,18 +36,13 @@
#include "ExN03RunAction.hh"
#include "ExN03EventAction.hh"
#include "ExN03SteppingAction.hh"
#ifdef GNU_GCC
#include <rw/tpordvec.h>
#include "ExN03CalorHit.hh"
template class RWTPtrOrderedVector <ExN03CalorHit>;
template class RWTPtrVector <ExN03CalorHit>;
template class G4Allocator <ExN03CalorHit>;
#endif
#include "Randomize.hh"
int main(int argc,char** argv) {
// choose the Random engine
HepRandom::setTheEngine(new RanecuEngine);
// Construct the default run manager
G4RunManager * runManager = new G4RunManager;
@@ -54,6 +51,18 @@ int main(int argc,char** argv) {
runManager->SetUserInitialization(detector);
runManager->SetUserInitialization(new ExN03PhysicsList);
G4UIsession* session=0;
if (argc==1) // Define UI session for interactive mode.
{
// G4UIterminal is a (dumb) terminal.
#ifdef G4UI_USE_XM
session = new G4UIXm(argc,argv);
#else
session = new G4UIterminal;
#endif
}
#ifdef G4VIS_USE
// visualization manager
G4VisManager* visManager = new ExN03VisManager;
@@ -72,10 +81,9 @@ int main(int argc,char** argv) {
// get the pointer to the User Interface manager
G4UImanager* UI = G4UImanager::GetUIpointer();
if (argc==1) // Define UI session for interactive mode.
if (session) // Define UI session for interactive mode.
{
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = new G4UIterminal;
UI->ApplyCommand("/control/execute prerunN03.mac");
session->SessionStart();
delete session;
-1
View File
@@ -22,7 +22,6 @@
/calor/setNbOfLayers 30
/calor/setSizeYZ 1.5 m
/calor/update
/vis~/clear/scene
/gun/particle gamma
/gun/energy 500 MeV
/run/beamOn 1
+111 -82
View File
@@ -1,81 +1,80 @@
***** Table : Nb of materials = 13 *****
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm
---> Element: Aluminium Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm
---> Element: liquidArgon Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Copper density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm
Material: Copper density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm
---> Element: Copper Z = 29.0 N = 63.5 A = 63.55 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm
---> Element: Lead Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm
Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm
---> 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: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm
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 %
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
Material: Aerogel density: 200.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.493 m
Material: Aerogel density: 200.000 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.493 m
---> Element: Silicon Si Z = 14.0 N = 28.1 A = 28.09 g/mole fractionMass: 29.22 % Abundance 11.12 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 66.49 % Abundance 44.42 %
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 4.19 % Abundance 44.37 %
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 0.10 % Abundance 0.09 %
Material: CarbonicGas density: 27.000 mg/cm3 temperature: 325.00 K pressure: 50.00 atm RadLength: 13.406 m
Material: CarbonicGas density: 27.000 mg/cm3 temperature: 325.00 K pressure: 50.00 atm RadLength: 13.406 m
---> Element: Carbon C Z = 6.0 N = 12.0 A = 12.01 g/mole fractionMass: 27.29 % Abundance 33.33 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 72.71 % Abundance 66.67 %
Material: WaterSteam density: 0.300 mg/cm3 temperature: 500.00 K pressure: 2.00 atm RadLength: 1.203 km
Material: WaterSteam density: 0.300 mg/cm3 temperature: 500.00 K pressure: 2.00 atm RadLength: 1.203 km
---> Element: Hydrogen H Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 %
Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 6317232936888469300000.000 km
Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 6317232936888469291008.000 km
---> Element: Galactic Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 100.00 % Abundance 100.00 %
Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.786 km
Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.786 km
---> Element: Nitrogen N Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 %
---> Element: Oxygen O Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 %
The calorimeter is made of 10 layers of: [ 10mm of Lead + 5mm of liquidArgon ]
ExN03PhysicsList::SetCuts:CutLength : 2 (mm)
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.
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 1e+02 GeV in 100 bins.
conv: Total cross sections from a parametrisation(L.Urban). Good description from 1.5 MeV to 100 GeV for all Z.
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 MeV to 1e+02 GeV in 100 bins.
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 1e+02 eV to 1e+02 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 1e+02 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 1e+02 TeV in 100 bins.
@@ -87,7 +86,7 @@ annihil: Total cross section from Heilter formula (annihilation into 2 photons)
msc: Tables of transport mean free paths.
New model of MSC , computes the lateral
displacement of the particle , too.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 1e+02 eV to 1e+02 TeV in 100 bins.
hIoni: Knock-on electron cross sections .
Good description above the mean excitation energy.
@@ -97,22 +96,22 @@ 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 1e+02 eV to 1e+02 TeV in 100 bins.
PhysicsTables from 1e+02 eV to 1e+02 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 1e+03 PeV in 100 bins.
MuBrems: cross sections from R. Kokoulin
MuBrems: theoretical cross section
Good description up to 1000 TeV.
PhysicsTables from 1 GeV to 1e+03 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 1e+03 PeV in 50 bins.
#
# Macro file for the initialization phase of "exampleN02.cc"
# Macro file for the initialization phase of "exampleN03.cc"
#
# Sets some default verbose
# and initializes the graphic.
@@ -122,52 +121,64 @@ MuPairProd: cross sections from R. Kokoulin
#
/run/particle/dumpCutValues
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range [mm] 2 2 2 2 2
Cut in energy [KeV]
Aluminium 9.6 1e+03 7.4e+03 1.9e+04 0.99
liquidArgon 8.6 5.6e+02 4.8e+03 1.2e+04 0.99
Copper 36 2.7e+03 1.3e+04 3.4e+04 0.99
Lead 1.2e+02 2.6e+03 1.3e+04 3.2e+04 0.99
Water 3.9 5.7e+02 5e+03 1.3e+04 0.99
Scintillator 3.1 5.8e+02 5e+03 1.3e+04 0.99
quartz 7.6 9.1e+02 6.9e+03 1.8e+04 0.99
Air 0.99 0.99 82 1.7e+02 0.99
Aerogel 2.3 1.8e+02 1.9e+03 4.8e+03 0.99
CarbonicGas 0.99 54 6e+02 1.3e+03 0.99
WaterSteam 0.99 0.99 30 45 0.99
Galactic 0.99 0.99 0.99 0.99 0.99
Beam 0.99 0.99 0.99 0.99 0.99
gamma e- mu- proton neutron
Cut in range 2 mm 2 mm 2 mm 2 mm 2 mm
Cut in energy
Aluminium 9.56 keV 1.03 MeV 7.44 MeV 19.4 MeV 990 eV
liquidArgon 8.59 keV 561 keV 4.78 MeV 12.3 MeV 990 eV
Copper 35.7 keV 2.68 MeV 13.3 MeV 34.3 MeV 990 eV
Lead 121 keV 2.61 MeV 12.6 MeV 31.8 MeV 990 eV
Water 3.89 keV 568 keV 4.96 MeV 13.1 MeV 990 eV
Scintillator 3.07 keV 575 keV 5.02 MeV 13.4 MeV 990 eV
quartz 7.59 keV 907 keV 6.91 MeV 18.1 MeV 990 eV
Air 990 eV 990 eV 82.2 keV 174 keV 990 eV
Aerogel 2.32 keV 181 keV 1.9 MeV 4.84 MeV 990 eV
CarbonicGas 990 eV 54.1 keV 597 keV 1.34 MeV 990 eV
WaterSteam 990 eV 990 eV 29.6 keV 45 keV 990 eV
Galactic 990 eV 990 eV 990 eV 990 eV 990 eV
Beam 990 eV 990 eV 990 eV 990 eV 990 eV
===================================================
#
# Create empty scene ("world" is default)
/vis/scene/create
#
# Add volume to scene
/vis/scene/add/volume
#
# Create a scene handler for a specific graphics system
# Edit the next line(s) to choose another graphic system
#
#/vis~/create_view/new_graphics_system DAWNFILE
/vis~/create_view/new_graphics_system OGLIX
/vis~/draw/current
/vis~/show/view
#/vis/sceneHandler/create DAWNFILE
/vis/sceneHandler/create OGLIX
#
# Create a viewer
/vis/viewer/create
#
# Draw scene
/vis/scene/notifyHandlers
#
# for drawing the tracks
# if too many tracks cause core dump => storeTrajectory 0
/tracking/storeTrajectory 1
#/vis/scene/include/trajectories
Idle> /run/particle/dumpCutValues
============= The cut Energy ==============================
gamma e- mu- proton neutron
Cut in range [mm] 2 2 2 2 2
Cut in energy [KeV]
Aluminium 9.6 1e+03 7.4e+03 1.9e+04 0.99
liquidArgon 8.6 5.6e+02 4.8e+03 1.2e+04 0.99
Copper 36 2.7e+03 1.3e+04 3.4e+04 0.99
Lead 1.2e+02 2.6e+03 1.3e+04 3.2e+04 0.99
Water 3.9 5.7e+02 5e+03 1.3e+04 0.99
Scintillator 3.1 5.8e+02 5e+03 1.3e+04 0.99
quartz 7.6 9.1e+02 6.9e+03 1.8e+04 0.99
Air 0.99 0.99 82 1.7e+02 0.99
Aerogel 2.3 1.8e+02 1.9e+03 4.8e+03 0.99
CarbonicGas 0.99 54 6e+02 1.3e+03 0.99
WaterSteam 0.99 0.99 30 45 0.99
Galactic 0.99 0.99 0.99 0.99 0.99
Beam 0.99 0.99 0.99 0.99 0.99
gamma e- mu- proton neutron
Cut in range 2 mm 2 mm 2 mm 2 mm 2 mm
Cut in energy
Aluminium 9.56 keV 1.03 MeV 7.44 MeV 19.4 MeV 990 eV
liquidArgon 8.59 keV 561 keV 4.78 MeV 12.3 MeV 990 eV
Copper 35.7 keV 2.68 MeV 13.3 MeV 34.3 MeV 990 eV
Lead 121 keV 2.61 MeV 12.6 MeV 31.8 MeV 990 eV
Water 3.89 keV 568 keV 4.96 MeV 13.1 MeV 990 eV
Scintillator 3.07 keV 575 keV 5.02 MeV 13.4 MeV 990 eV
quartz 7.59 keV 907 keV 6.91 MeV 18.1 MeV 990 eV
Air 990 eV 990 eV 82.2 keV 174 keV 990 eV
Aerogel 2.32 keV 181 keV 1.9 MeV 4.84 MeV 990 eV
CarbonicGas 990 eV 54.1 keV 597 keV 1.34 MeV 990 eV
WaterSteam 990 eV 990 eV 29.6 keV 45 keV 990 eV
Galactic 990 eV 990 eV 990 eV 990 eV 990 eV
Beam 990 eV 990 eV 990 eV 990 eV 990 eV
===================================================
Idle> # e+ 300MeV
Idle> /gun/particle e+
@@ -176,42 +187,54 @@ Idle> /run/beamOn 1
### Run 0 start.
Start closing geometry.
Start Run processing.
---> Event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 9876, 54321
----------------------------------------
>>> Event 0
10 hits are stored in ExN03CalorHitsCollection.
Absorber: total energy: 2.9e+02 MeV total track length: 16 cm
Gap: total energy: 10 MeV total track length: 4.4 cm
185 trajectories stored in this event.
Absorber: total energy: 2.8e+02 MeV total track length: 14 cm
Gap: total energy: 12 MeV total track length: 5.9 cm
195 trajectories stored in this event.
Run terminated.
Run Summary
Number of events processed : 1
User=0.12s Real=0.13s Sys=0.033s
User=0.28s Real=0.33s Sys=0.03s
Idle> #
Idle> # list the existing physics processes
Idle> /process/list
Transportation, msc, hIoni, eIoni
eBrem, annihil, MuIoni, MuBrems
MuPairProd, phot, compt, conv
Transportation, msc, hIoni, MuIoni
MuBrems, MuPairProd, eIoni, eBrem
annihil, phot, compt, conv
Decay
Idle> #
Idle> # switch off MultipleScattering
Idle> /process/inactivate MultipleScattering
illegal process (or type) name
Idle> /process/inactivate msc
Idle> /run/beamOn 1
### Run 1 start.
Start Run processing.
---> Event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 2089514513, 1200712414
----------------------------------------
>>> Event 0
9 hits are stored in ExN03CalorHitsCollection.
Absorber: total energy: 2.8e+02 MeV total track length: 16 cm
Gap: total energy: 12 MeV total track length: 5.8 cm
187 trajectories stored in this event.
Absorber: total energy: 2.8e+02 MeV total track length: 15 cm
Gap: total energy: 17 MeV total track length: 7.6 cm
195 trajectories stored in this event.
Run terminated.
Run Summary
Number of events processed : 1
User=0.12s Real=0.13s Sys=0.017s
User=0.25s Real=0.28s Sys=0.02s
Idle> #
Idle> # switch on MultipleScattering
Idle> /process/activate MultipleScattering
illegal process (or type) name
Idle> /process/activate msc
Idle> #
Idle> # change detector parameter
Idle> /calor/setAbsMat Aluminium
@@ -227,22 +250,28 @@ Idle> /calor/setSizeYZ 1.5 m
Idle> /calor/update
The calorimeter is made of 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ]
Idle> /vis~/clear/scene
Idle> /gun/particle gamma
Idle> /gun/energy 500 MeV
Idle> /run/beamOn 1
### Run 2 start.
Start closing geometry.
Start Run processing.
---> Event: 0
--------- Ranecu engine status ---------
Initial seed (index) = 0
Current couple of seeds = 900551276, 1952365952
----------------------------------------
>>> Event 0
30 hits are stored in ExN03CalorHitsCollection.
Absorber: total energy: 3.8e+02 MeV total track length: 86 cm
Gap: total energy: 86 MeV total track length: 2.4 m
212 trajectories stored in this event.
21 hits are stored in ExN03CalorHitsCollection.
Absorber: total energy: 4.2e+02 MeV total track length: 98 cm
Gap: total energy: 68 MeV total track length: 1.9 m
176 trajectories stored in this event.
Run terminated.
Run Summary
Number of events processed : 1
User=0.32s Real=0.35s Sys=0.033s
User=0.62s Real=0.71s Sys=0.09s
Idle> G4 kernel has come to Quit state.
Deletion of G4 kernel class start.
UserDetectorConstruction deleted.
+2 -2
View File
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03CalorHit.hh,v 1.1 1998/10/09 14:54:46 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03CalorHit.hh,v 1.1 1999/01/07 16:05:53 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03CalorimeterSD.hh,v 1.1 1998/10/09 14:54:46 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03CalorimeterSD.hh,v 1.1 1999/01/07 16:05:54 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03DetectorConstruction.hh,v 2.3 1998/10/09 15:25:28 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03DetectorConstruction.hh,v 1.1 1999/01/07 16:05:54 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03DetectorMessenger.hh,v 2.3 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03DetectorMessenger.hh,v 1.1 1999/01/07 16:05:54 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03EventAction.hh,v 2.3 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03EventAction.hh,v 1.3 1999/04/16 11:55:03 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -27,17 +27,19 @@ class ExN03EventAction : public G4UserEventAction
{
public:
ExN03EventAction();
~ExN03EventAction();
virtual ~ExN03EventAction();
public:
void BeginOfEventAction();
void EndOfEventAction();
virtual void BeginOfEventAction(const G4Event*);
virtual void EndOfEventAction(const G4Event*);
void SetDrawFlag(G4String val) {drawFlag = val;};
void SetDrawFlag (G4String val) {drawFlag = val;};
void SetPrintModulo(G4int val) {printModulo = val;};
private:
G4int calorimeterCollID; // Hits collection ID
G4String drawFlag; // control the drawing of event
G4int calorimeterCollID;
G4String drawFlag;
G4int printModulo;
ExN03EventActionMessenger* eventMessenger;
};
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03EventActionMessenger.hh,v 1.1 1998/10/09 14:54:49 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03EventActionMessenger.hh,v 1.2 1999/03/10 16:15:37 maire Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -21,6 +21,7 @@
class ExN03EventAction;
class G4UIcmdWithAString;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -35,6 +36,7 @@ class ExN03EventActionMessenger: public G4UImessenger
private:
ExN03EventAction* eventAction;
G4UIcmdWithAString* DrawCmd;
G4UIcmdWithAnInteger* PrintCmd;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03PhysicsList.hh,v 2.4 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03PhysicsList.hh,v 1.2 1999/04/16 11:55:04 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -29,10 +29,19 @@ class ExN03PhysicsList: public G4VUserPhysicsList
protected:
// Construct particle and physics
void ConstructParticle();
void ConstructProcess();
virtual void ConstructParticle();
virtual void ConstructProcess();
void SetCuts(G4double);
virtual void SetCuts();
public:
// Set/Get cut values
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForProton(G4double);
G4double GetCutForGamma() const;
G4double GetCutForElectron() const;
G4double GetCutForProton() const;
protected:
// these methods Construct particles
@@ -45,6 +54,12 @@ class ExN03PhysicsList: public G4VUserPhysicsList
// these methods Construct physics processes and register them
void ConstructGeneral();
void ConstructEM();
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForProton;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03PrimaryGeneratorAction.hh,v 2.3 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03PrimaryGeneratorAction.hh,v 1.1 1999/01/07 16:05:55 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 2.3 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.1 1999/01/07 16:05:55 gunter Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03RunAction.hh,v 2.3 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03RunAction.hh,v 1.3 1999/04/22 21:45:15 asaim Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -30,11 +30,9 @@ class ExN03RunAction : public G4UserRunAction
~ExN03RunAction();
public:
void BeginOfRunAction(G4Run*);
void EndOfRunAction(G4Run*);
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
private:
G4int runIDcounter;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03SteppingAction.hh,v 2.2 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03SteppingAction.hh,v 1.2 1999/04/16 11:55:06 kurasige Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -24,9 +24,9 @@ class ExN03SteppingAction : public G4UserSteppingAction
{
public:
ExN03SteppingAction();
~ExN03SteppingAction();
virtual ~ExN03SteppingAction();
void UserSteppingAction();
virtual void UserSteppingAction(const G4Step*);
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: ExN03VisManager.hh,v 2.6 1998/10/09 15:48:01 japost Exp $
// GEANT4 tag $Name: geant4-00 $
// $Id: ExN03VisManager.hh,v 1.2 1999/06/24 07:48:48 stesting Exp $
// GEANT4 tag $Name: geant4-00-01 $
//
//
@@ -31,6 +31,8 @@
#ifndef ExN03VisManager_h
#define ExN03VisManager_h 1
#ifdef G4VIS_USE
#include "G4VisManager.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -48,3 +50,5 @@ private:
};
#endif
#endif

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