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 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()