Import Geant4 9.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:25:56 +02:00
parent 74cad5e589
commit 89a9605df1
4440 changed files with 379508 additions and 189225 deletions
+22 -4
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.4 2007/11/13 20:33:28 asaim Exp $
$Id: History,v 1.10 2010/11/24 22:47:23 asaim Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,11 +14,29 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Feb. 05, 07 G.Cosmo (exampleRE01-V08-02-00)
Nov. 24, 2010 M.Asai (exampleRE01-V09-03-05)
- Add a protection against empty stack : RE01StackingAction.cc
Nov. 15, 2010 M.Asai (exampleRE01-V09-03-04)
- Fix one more warning message in RE01Trajectory class.
Nov. 08, 2010 M.Asai (exampleRE01-V09-03-03)
- Fix warning message in RE01Trajectory class.
Nov. 08, 2010 J.Allison (exampleRE01-V09-03-02)
- Introduced G4UIExecutive.
Jun. 04, 2010 J.Perl (exampleRE01-V09-03-01)
- Updated vis usage
Apr. 06, 2010 M.Asai (exampleRE01-V09-03-00)
- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring.
Feb. 05, 2007 G.Cosmo (exampleRE01-V08-02-00)
- Removed big output file ...
Nov. 17, 06 M.Asai (exampleRE01-V08-01-01)
Nov. 17, 2006 M.Asai (exampleRE01-V08-01-01)
- History file is created though the example has been here since two years.
- Fix a bug in RE01CalorimeterSD::ProcessHits() concerning about the
transformation vector and rotation materix of the calorimater cell
+11 -11
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE01.cc,v 1.3 2006/06/29 17:42:25 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01.cc,v 1.4 2010/11/08 17:42:28 allison Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
// --------------------------------------------------------------
@@ -40,8 +40,6 @@
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#include "RE01DetectorConstruction.hh"
#include "RE01PhysicsList.hh"
@@ -56,6 +54,10 @@
#include "G4VisExecutive.hh"
#endif
#ifdef G4UI_USE
#include "G4UIExecutive.hh"
#endif
int main(int argc,char** argv)
{
G4RunManager* runManager = new G4RunManager;
@@ -80,13 +82,11 @@ int main(int argc,char** argv)
if(argc==1)
{
#ifdef G4UI_USE_TCSH
G4UIsession* session = new G4UIterminal(new G4UItcsh);
#else
G4UIsession* session = new G4UIterminal();
#endif
session->SessionStart();
delete session;
#ifdef G4UI_USE
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
ui->SessionStart();
delete ui;
#endif
}
else
{
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE01Trajectory.hh,v 1.3 2006/06/29 17:43:31 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01Trajectory.hh,v 1.6 2010/11/15 22:29:57 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
#ifndef RE01Trajectory_h
@@ -80,7 +80,7 @@ class RE01Trajectory : public G4VTrajectory
{ return (*positionRecord)[i]; }
virtual void ShowTrajectory(std::ostream& os=G4cout) const;
virtual void DrawTrajectory(G4int i_mode=0) const;
virtual void DrawTrajectory(G4int i_mode =0) const;
virtual const std::map<G4String,G4AttDef>* GetAttDefs() const;
virtual std::vector<G4AttValue>* CreateAttValues() const;
virtual void AppendStep(const G4Step* aStep);
@@ -88,7 +88,7 @@ class RE01Trajectory : public G4VTrajectory
G4ParticleDefinition* GetParticleDefinition();
inline const G4int GetTrackStatus() const
inline const G4int& GetTrackStatus() const
{ return fTrackStatus; }
inline const G4ThreeVector& GetVertexPosition() const
{ return vertexPosition; }
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE01HadronPhysics.cc,v 1.2 2006/06/29 17:44:00 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01HadronPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
#include "RE01HadronPhysics.hh"
@@ -36,7 +36,7 @@
// processes
#include "G4ParticleTable.hh"
#include "G4ProcessManager.hh"
#include "G4MultipleScattering.hh"
#include "G4hMultipleScattering.hh"
#include "G4hIonisation.hh"
#include "G4HadronElasticProcess.hh"
#include "G4PionPlusInelasticProcess.hh"
@@ -204,7 +204,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4PionPlus::PionPlus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -233,7 +233,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4PionMinus::PionMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -265,7 +265,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4KaonPlus::KaonPlus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -288,7 +288,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4KaonMinus::KaonMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -349,7 +349,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4Proton::Proton()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -379,7 +379,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4AntiProton::AntiProton()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -515,7 +515,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4SigmaMinus::SigmaMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -539,7 +539,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4AntiSigmaMinus::AntiSigmaMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -565,7 +565,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4SigmaPlus::SigmaPlus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -588,7 +588,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4AntiSigmaPlus::AntiSigmaPlus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -614,7 +614,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4XiMinus::XiMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -637,7 +637,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4AntiXiMinus::AntiXiMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -700,7 +700,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4OmegaMinus::OmegaMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -724,7 +724,7 @@ void RE01HadronPhysics::ConstructProcess()
pManager = G4AntiOmegaMinus::AntiOmegaMinus()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE01IonPhysics.cc,v 1.2 2006/06/29 17:44:02 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01IonPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
#include "RE01IonPhysics.hh"
@@ -35,7 +35,7 @@
#include "G4IonConstructor.hh"
// processes
#include "G4MultipleScattering.hh"
#include "G4hMultipleScattering.hh"
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
#include "G4HadronElasticProcess.hh"
@@ -87,7 +87,7 @@ void RE01IonPhysics::ConstructProcess()
pManager = G4Deuteron::Deuteron()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -108,7 +108,7 @@ void RE01IonPhysics::ConstructProcess()
pManager = G4Triton::Triton()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -129,7 +129,7 @@ void RE01IonPhysics::ConstructProcess()
pManager = G4He3::He3()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -146,7 +146,7 @@ void RE01IonPhysics::ConstructProcess()
pManager = G4Alpha::Alpha()->GetProcessManager();
// EM processes
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// hadron elastic
@@ -167,7 +167,7 @@ void RE01IonPhysics::ConstructProcess()
pManager = G4GenericIon::GenericIon()->GetProcessManager();
// Only EM processes for generic ion
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4ionIonisation(), -1, 2, 2);
}
@@ -24,21 +24,23 @@
// ********************************************************************
//
//
// $Id: RE01LeptonPhysics.cc,v 1.2 2006/06/29 17:44:04 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01LeptonPhysics.cc,v 1.3 2010/04/07 01:27:53 asaim Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
#include "RE01LeptonPhysics.hh"
#include "G4ParticleTable.hh"
#include "G4ProcessManager.hh"
#include "G4MultipleScattering.hh"
#include "G4eMultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuMultipleScattering.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hMultipleScattering.hh"
#include "G4hIonisation.hh"
#include "G4Electron.hh"
@@ -89,14 +91,14 @@ void RE01LeptonPhysics::ConstructProcess()
// Electron physics
pManager = G4Electron::Electron()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4eMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4eIonisation(), -1, 2, 2);
pManager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3);
//Positron physics
pManager = G4Positron::Positron()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4eMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4eIonisation(), -1, 2, 2);
pManager->AddProcess(new G4eBremsstrahlung(), -1, 3, 3);
pManager->AddProcess(new G4eplusAnnihilation(), 0,-1, 4);
@@ -104,7 +106,7 @@ void RE01LeptonPhysics::ConstructProcess()
// Muon-
pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4MuMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4MuIonisation(), -1, 2, 2);
pManager->AddProcess(new G4MuBremsstrahlung(), -1, 3, 3);
pManager->AddProcess(new G4MuPairProduction(), -1, 4, 4);
@@ -112,7 +114,7 @@ void RE01LeptonPhysics::ConstructProcess()
// Muon+
pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4MuMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4MuIonisation(), -1, 2, 2);
pManager->AddProcess(new G4MuBremsstrahlung(), -1, 3, 3);
pManager->AddProcess(new G4MuPairProduction(), -1, 4, 4);
@@ -120,13 +122,13 @@ void RE01LeptonPhysics::ConstructProcess()
// Tau-
pManager = G4TauMinus::TauMinus()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
// Tau+
pManager = G4TauPlus::TauPlus()->GetProcessManager();
pManager->AddProcess(new G4MultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hMultipleScattering(), -1, 1, 1);
pManager->AddProcess(new G4hIonisation(), -1, 2, 2);
}
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE01StackingAction.cc,v 1.2 2006/06/29 17:44:20 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01StackingAction.cc,v 1.3 2010/11/24 22:47:23 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
@@ -95,6 +95,7 @@ G4VHitsCollection* RE01StackingAction::GetCalCollection()
void RE01StackingAction::NewStage()
{
G4cout << "+++++++++++ Stage " << stage << G4endl;
if(stage==0)
{
// display trajetory information in the tracking region
@@ -138,15 +139,18 @@ void RE01StackingAction::NewStage()
}
}
// Transfer all tracks in Urgent stack to Waiting stack, since all tracks
// in Waiting stack have already been transfered to Urgent stack before
// invokation of this method.
stackManager->TransferStackedTracks(fUrgent,fWaiting);
if(stackManager->GetNUrgentTrack())
{
// Transfer all tracks in Urgent stack to Waiting stack, since all tracks
// in Waiting stack have already been transfered to Urgent stack before
// invokation of this method.
stackManager->TransferStackedTracks(fUrgent,fWaiting);
// Then, transfer only one track to Urgent stack.
stackManager->TransferOneStackedTrack(fWaiting,fUrgent);
// Then, transfer only one track to Urgent stack.
stackManager->TransferOneStackedTrack(fWaiting,fUrgent);
stage++;
stage++;
}
}
void RE01StackingAction::PrepareNewEvent()
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE01Trajectory.cc,v 1.3 2006/06/29 17:44:37 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE01Trajectory.cc,v 1.5 2010/11/08 22:16:28 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
@@ -154,7 +154,7 @@ void RE01Trajectory::ShowTrajectory(std::ostream& os) const
}
}
void RE01Trajectory::DrawTrajectory(G4int) const
void RE01Trajectory::DrawTrajectory(G4int /*i_mode*/) const
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
@@ -0,0 +1,69 @@
# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
# Use this open statement to create a .prim file suitable for
# viewing in DAWN:
#/vis/open DAWNFILE
#
# Use this open statement to create a .heprep file suitable for
# viewing in HepRApp:
#/vis/open HepRepFile
#
# Use this open statement to create a .wrl file suitable for
# viewing in a VRML viewer:
#/vis/open VRML2FILE
#
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
#
# Draw geometry:
/vis/drawVolume
#
# Specify view angle:
/vis/viewer/set/viewpointThetaPhi 90. 0.
#
# Specify zoom value:
#/vis/viewer/zoom 2.
#
# Specify style (surface or wireframe):
#/vis/viewer/set/style wireframe
#
# Draw coordinate axes:
#/vis/scene/add/axes 0 0 0 1 m
#
# Draw smooth trajectories at end of event, showing trajectory points
# as markers 2 pixels wide:
/vis/scene/add/trajectories smooth
/vis/modeling/trajectories/create/drawByCharge
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
# (if too many tracks cause core dump => /tracking/storeTrajectory 0)
#
# Draw hits at end of event:
#/vis/scene/add/hits
#
# To draw only gammas:
#/vis/filtering/trajectories/create/particleFilter
#/vis/filtering/trajectories/particleFilter-0/add gamma
#
# To invert the above, drawing all particles except gammas,
# keep the above two lines but also add:
#/vis/filtering/trajectories/particleFilter-0/invert true
#
# Many other options are available with /vis/modeling and /vis/filtering.
# For example, to select colour by particle ID:
#/vis/modeling/trajectories/create/drawByParticleID
#/vis/modeling/trajectories/drawByParticleID-0/set e- blue
#
# To superimpose all of the events from a given run:
#/vis/scene/endOfEventAction accumulate
#
# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
#
# autoRefresh false suppressed initial empty detector view.
# Draw one now if desired:
#/vis/viewer/refresh
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.1 2005/11/24 01:44:18 asaim Exp $
# $Id: GNUmakefile,v 1.2 2010/01/11 17:07:33 gcosmo Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -8,7 +8,7 @@ G4TARGET := $(name)
G4EXLIB := true
ifndef G4INSTALL
G4INSTALL = ../../..
G4INSTALL = ../../../..
endif
.PHONY: all
+25 -6
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.4 2007/05/18 18:16:28 asaim Exp $
$Id: History,v 1.10 2010/12/07 15:20:46 gunter Exp $
-------------------------------------------------------------------
=========================================================
@@ -14,19 +14,38 @@ track of all tags.
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
December 7th, 2010 G.Folger (exampleRE02-V09-03-05)
- Bug fix in RE02DetectorConstruction.cc correcting size of C-array
fixing crash on Windows
November 9th, 2010 M.Asai (exampleRE02-V09-03-04)
- Additional Fixing warning messages.
November 8th, 2010 M.Asai (exampleRE02-V09-03-03)
- Fixing warning messages.
November 8th, 2010 John Allison (exampleRE02-V09-03-02)
- Introduced G4UIExecutive.
May 18, 07 M.Asai (exampleRE02-V08-03-00)
June 4th, 2010 Joseph Perl (exampleRE02-V09-03-01)
- Updated vis usage.
Apr 06, 2010 M.Asai (exampleRE02-V09-03-00)
- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring.
May 18, 2007 M.Asai (exampleRE02-V08-03-00)
- Fix the indexing scheme of GetIndex() method in the scorers.
Jan. 29, 07 M.Asai (exampleRE02-V08-02-00)
Jan. 29, 2007 M.Asai (exampleRE02-V08-02-00)
- Fix missing null pointer protection in ComputeMaterial() method.
Nov. 17, 06 T.Aso (exampleRE02-V08-01-00)
Nov. 17, 2006 T.Aso (exampleRE02-V08-01-00)
- Reimplement the geometry with G4VNestedParameterization.
- Modify the scorers according to the nested para,eterisation.
Nov. 23, 05 M.Asai (exampleRE02-V07-01-00)
Nov. 23, 2005 M.Asai (exampleRE02-V07-01-00)
- Tagged.
Nov. 18, 05 T.Aso, A.Kimura
Nov. 18, 2005 T.Aso, A.Kimura
- Created.
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: exampleRE02.cc,v 1.3 2006/11/18 01:37:22 asaim Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: exampleRE02.cc,v 1.5 2010/11/08 18:48:54 allison Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
//
@@ -38,8 +38,10 @@
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#ifdef G4UI_USE
#include "G4UIExecutive.hh"
#endif
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
@@ -89,17 +91,10 @@ int main(int argc,char** argv) {
if(argc==1)
// Define (G)UI terminal for interactive mode
{
// G4UIterminal is a (dumb) terminal.
G4UIsession * session = 0;
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
UI->ApplyCommand("/control/execute vis.mac");
session->SessionStart();
delete session;
ui->SessionStart();
delete ui;
}
else
// Batch mode
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02EMPhysics.hh,v 1.2 2006/06/29 17:44:43 gunter Exp $
// $Id: RE02EMPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 Chhange gamma, electron, positorn process T. Koi
@@ -40,7 +40,7 @@
#include "G4PhotoElectricEffect.hh"
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4MultipleScattering.hh"
#include "G4eMultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02HadronPhysics.hh,v 1.2 2006/06/29 17:44:50 gunter Exp $
// $Id: RE02HadronPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 10-Oct-2003 Full Hadron Processes with Parameterization Model T. Koi
@@ -35,7 +35,7 @@
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4hMultipleScattering.hh"
#include "G4hIonisation.hh"
// Hadronic Processes
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02IonPhysics.hh,v 1.2 2006/06/29 17:44:52 gunter Exp $
// $Id: RE02IonPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
// 05-Jan-2004 Add G4ionIonisation T. Koi
//
@@ -54,7 +54,7 @@
#include "G4hIonisation.hh"
#include "G4ionIonisation.hh"
#include "G4MultipleScattering.hh"
#include "G4hMultipleScattering.hh"
class RE02IonPhysics : public G4VPhysicsConstructor
{
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02MuonPhysics.hh,v 1.2 2006/06/29 17:44:55 gunter Exp $
// $Id: RE02MuonPhysics.hh,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 mu+- tau+- processes are changed by T. Koi
@@ -36,7 +36,8 @@
#include "G4ios.hh"
#include "G4VPhysicsConstructor.hh"
#include "G4MultipleScattering.hh"
#include "G4MuMultipleScattering.hh"
#include "G4hMultipleScattering.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4MuIonisation.hh"
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE02NestedPhantomParameterisation.hh,v 1.2 2006/12/13 15:42:45 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE02NestedPhantomParameterisation.hh,v 1.4 2010/11/09 19:46:30 asaim Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
// class G4VNestedParameterisation
//
@@ -137,6 +137,11 @@ private: // Dummy declarations to get rid of warnings ...
const {}
void ComputeDimensions (G4Polyhedra&,const G4int,const G4VPhysicalVolume*)
const {}
// G4Material* ComputeMaterial(const G4int repNo,
// G4VPhysicalVolume* currentVol,
// const G4VTouchable* parentTouch)
// { return ComputeMaterial( currentVol, repNo, parentTouch ); }
using G4VNestedParameterisation::ComputeMaterial;
private:
G4double fdX,fdY,fdZ;
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: run.mac,v 1.1 2006/11/18 01:37:23 asaim Exp $
# $Id: run.mac,v 1.2 2010/06/06 05:16:16 perl Exp $
#
# Macro file for "exampleRE02.cc"
#
@@ -15,7 +15,7 @@
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open OGL
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
+1 -1
View File
@@ -15,7 +15,7 @@
# (Edit the next line(s) to choose another graphic system)
#
#/vis/open VRML2FILE
#/vis/open OGLIX
#/vis/open OGL
#/vis/open DAWNFILE
#
# draw scene
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: run2.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $
# $Id: run2.mac,v 1.3 2010/06/06 05:16:16 perl Exp $
#
# Macro file for "exampleRE02.cc"
#
@@ -15,7 +15,7 @@
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open OGL
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: run3.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $
# $Id: run3.mac,v 1.3 2010/06/06 05:16:16 perl Exp $
#
# Macro file for "exampleRE02.cc"
#
@@ -15,7 +15,7 @@
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open OGL
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
+2 -2
View File
@@ -1,4 +1,4 @@
# $Id: run4.mac,v 1.2 2006/11/18 01:37:23 asaim Exp $
# $Id: run4.mac,v 1.3 2010/06/06 05:16:16 perl Exp $
#
# Macro file for "exampleRE02.cc"
#
@@ -15,7 +15,7 @@
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#/vis/open OGLIX
#/vis/open OGL
#/vis/open DAWNFILE
#/vis/open VRML2FILE
#
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE02DetectorConstruction.cc,v 1.3 2006/11/18 01:37:23 asaim Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE02DetectorConstruction.cc,v 1.5 2010/12/07 15:17:13 stesting Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
#include "RE02DetectorConstruction.hh"
@@ -357,7 +357,7 @@ RE02DetectorConstruction::~RE02DetectorConstruction()
// 100 keV to 1 MeV, gammaSurfCurr002
// 1 MeV to 10 MeV. gammaSurfCurr003
//
char name[16];
char name[17];
for ( G4int i = 0; i < 4; i++){
std::sprintf(name,"gammaSurfCurr%03d",i);
G4String psgName(name);
@@ -392,7 +392,7 @@ RE02DetectorConstruction::~RE02DetectorConstruction()
G4VisAttributes* YRepVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,0.0));
logYRep->SetVisAttributes(YRepVisAtt);
G4VisAttributes* XRepVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,0.0));
logXRep->SetVisAttributes(YRepVisAtt);
logXRep->SetVisAttributes(XRepVisAtt);
// Skip the visualization for those voxels.
logicPhantomSens->SetVisAttributes(G4VisAttributes::Invisible);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02EMPhysics.cc,v 1.2 2006/06/29 17:45:12 gunter Exp $
// $Id: RE02EMPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
//
@@ -72,7 +72,7 @@ void RE02EMPhysics::ConstructProcess()
//Electorn
pManager = G4Electron::Electron()->GetProcessManager();
G4VProcess* theeminusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeminusMultipleScattering = new G4eMultipleScattering();
G4VProcess* theeminusIonisation = new G4eIonisation();
G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung();
//
@@ -93,7 +93,7 @@ void RE02EMPhysics::ConstructProcess()
//Positron
pManager = G4Positron::Positron()->GetProcessManager();
G4VProcess* theeplusMultipleScattering = new G4MultipleScattering();
G4VProcess* theeplusMultipleScattering = new G4eMultipleScattering();
G4VProcess* theeplusIonisation = new G4eIonisation();
G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung();
G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation();
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02HadronPhysics.cc,v 1.2 2006/06/29 17:45:18 gunter Exp $
// $Id: RE02HadronPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 Hadron Physics List with Parameterization Model by T. Koi
@@ -77,7 +77,7 @@ void RE02HadronPhysics::ConstructProcess()
thePionPlusInelasticProcess->RegisterMe(thePionPlusHEPModel);
pManager->AddDiscreteProcess(thePionPlusInelasticProcess);
G4VProcess* theppMultipleScattering = new G4MultipleScattering();
G4VProcess* theppMultipleScattering = new G4hMultipleScattering();
G4VProcess* theppIonisation = new G4hIonisation();
//
pManager->AddProcess(theppIonisation);
@@ -110,7 +110,7 @@ void RE02HadronPhysics::ConstructProcess()
thePionMinusInelasticProcess->RegisterMe(thePionMinusHEPModel);
pManager->AddDiscreteProcess(thePionMinusInelasticProcess);
G4VProcess* thepmMultipleScattering = new G4MultipleScattering();
G4VProcess* thepmMultipleScattering = new G4hMultipleScattering();
G4VProcess* thepmIonisation = new G4hIonisation();
//
// add processes
@@ -144,7 +144,7 @@ void RE02HadronPhysics::ConstructProcess()
theKaonPlusInelasticProcess->RegisterMe(theKaonPlusHEPModel);
pManager->AddDiscreteProcess(theKaonPlusInelasticProcess);
G4VProcess* thekpMultipleScattering = new G4MultipleScattering();
G4VProcess* thekpMultipleScattering = new G4hMultipleScattering();
G4VProcess* thekpIonisation = new G4hIonisation();
//
// add processes
@@ -179,7 +179,7 @@ void RE02HadronPhysics::ConstructProcess()
theKaonMinusInelasticProcess->RegisterMe(theKaonMinusHEPModel);
pManager->AddDiscreteProcess(theKaonMinusInelasticProcess);
G4VProcess* thekmMultipleScattering = new G4MultipleScattering();
G4VProcess* thekmMultipleScattering = new G4hMultipleScattering();
G4VProcess* thekmIonisation = new G4hIonisation();
pManager->AddProcess(thekmIonisation);
@@ -255,7 +255,7 @@ void RE02HadronPhysics::ConstructProcess()
theProtonInelasticProcess->RegisterMe(theProtonHEPModel);
pManager->AddDiscreteProcess(theProtonInelasticProcess);
G4VProcess* thepMultipleScattering = new G4MultipleScattering();
G4VProcess* thepMultipleScattering = new G4hMultipleScattering();
G4VProcess* thepIonisation = new G4hIonisation();
pManager->AddProcess(thepIonisation);
@@ -293,7 +293,7 @@ void RE02HadronPhysics::ConstructProcess()
= new G4AntiProtonAnnihilationAtRest();
pManager->AddRestProcess(theAntiProtonAnnihilation);
G4VProcess* theapMultipleScattering = new G4MultipleScattering();
G4VProcess* theapMultipleScattering = new G4hMultipleScattering();
G4VProcess* theapIonisation = new G4hIonisation();
pManager->AddProcess(theapIonisation);
@@ -428,7 +428,7 @@ void RE02HadronPhysics::ConstructProcess()
theSigmaPlusInelasticProcess->RegisterMe(theSigmaPlusHEPModel);
pManager->AddDiscreteProcess(theSigmaPlusInelasticProcess);
G4VProcess* thespMultipleScattering = new G4MultipleScattering();
G4VProcess* thespMultipleScattering = new G4hMultipleScattering();
G4VProcess* thespIonisation = new G4hIonisation();
pManager->AddProcess(thespIonisation);
@@ -462,7 +462,7 @@ void RE02HadronPhysics::ConstructProcess()
theAntiSigmaPlusInelasticProcess->RegisterMe(theAntiSigmaPlusHEPModel);
pManager->AddDiscreteProcess(theAntiSigmaPlusInelasticProcess);
G4VProcess* theaspMultipleScattering = new G4MultipleScattering();
G4VProcess* theaspMultipleScattering = new G4hMultipleScattering();
G4VProcess* theaspIonisation = new G4hIonisation();
pManager->AddProcess(theaspIonisation);
@@ -496,7 +496,7 @@ void RE02HadronPhysics::ConstructProcess()
theSigmaMinusInelasticProcess->RegisterMe(theSigmaMinusHEPModel);
pManager->AddDiscreteProcess(theSigmaMinusInelasticProcess);
G4VProcess* thesmMultipleScattering = new G4MultipleScattering();
G4VProcess* thesmMultipleScattering = new G4hMultipleScattering();
G4VProcess* thesmIonisation = new G4hIonisation();
pManager->AddProcess(thesmIonisation);
@@ -530,7 +530,7 @@ void RE02HadronPhysics::ConstructProcess()
theAntiSigmaMinusInelasticProcess->RegisterMe(theAntiSigmaMinusHEPModel);
pManager->AddDiscreteProcess(theAntiSigmaMinusInelasticProcess);
G4VProcess* theasmMultipleScattering = new G4MultipleScattering();
G4VProcess* theasmMultipleScattering = new G4hMultipleScattering();
G4VProcess* theasmIonisation = new G4hIonisation();
pManager->AddProcess(theasmIonisation);
@@ -604,7 +604,7 @@ void RE02HadronPhysics::ConstructProcess()
theXiMinusInelasticProcess->RegisterMe(theXiMinusHEPModel);
pManager->AddDiscreteProcess(theXiMinusInelasticProcess);
G4VProcess* thexmMultipleScattering = new G4MultipleScattering();
G4VProcess* thexmMultipleScattering = new G4hMultipleScattering();
G4VProcess* thexmIonisation = new G4hIonisation();
pManager->AddProcess(thexmIonisation);
@@ -638,7 +638,7 @@ void RE02HadronPhysics::ConstructProcess()
theAntiXiMinusInelasticProcess->RegisterMe(theAntiXiMinusHEPModel);
pManager->AddDiscreteProcess(theAntiXiMinusInelasticProcess);
G4VProcess* theaxmMultipleScattering = new G4MultipleScattering();
G4VProcess* theaxmMultipleScattering = new G4hMultipleScattering();
G4VProcess* theaxmIonisation = new G4hIonisation();
pManager->AddProcess(theaxmIonisation);
@@ -672,7 +672,7 @@ void RE02HadronPhysics::ConstructProcess()
theOmegaMinusInelasticProcess->RegisterMe(theOmegaMinusHEPModel);
pManager->AddDiscreteProcess(theOmegaMinusInelasticProcess);
G4VProcess* theomMultipleScattering = new G4MultipleScattering();
G4VProcess* theomMultipleScattering = new G4hMultipleScattering();
G4VProcess* theomIonisation = new G4hIonisation();
pManager->AddProcess(theomIonisation);
@@ -706,7 +706,7 @@ void RE02HadronPhysics::ConstructProcess()
theAntiOmegaMinusInelasticProcess->RegisterMe(theAntiOmegaMinusHEPModel);
pManager->AddDiscreteProcess(theAntiOmegaMinusInelasticProcess);
G4VProcess* theaomMultipleScattering = new G4MultipleScattering();
G4VProcess* theaomMultipleScattering = new G4hMultipleScattering();
G4VProcess* theaomIonisation = new G4hIonisation();
pManager->AddProcess(theaomIonisation);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02IonPhysics.cc,v 1.2 2006/06/29 17:45:21 gunter Exp $
// $Id: RE02IonPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 13-Oct-2003 Add Comment for Ionisation of Generic Ion by T. Koi
@@ -63,7 +63,7 @@ void RE02IonPhysics::ConstructProcess()
pManager = G4GenericIon::GenericIon()->GetProcessManager();
// add process
G4VProcess* thegionMultipleScattering = new G4MultipleScattering();
G4VProcess* thegionMultipleScattering = new G4hMultipleScattering();
//
// G4hIonization may be not able to use for Geanric Ion in future
// Please take care using this physics list after v5.2.p02
@@ -111,7 +111,7 @@ void RE02IonPhysics::ConstructProcess()
theDeuteronInelasticProcess->RegisterMe(theDeuteronLEPModel);
pManager->AddDiscreteProcess(theDeuteronInelasticProcess);
G4VProcess* thedueMultipleScattering = new G4MultipleScattering();
G4VProcess* thedueMultipleScattering = new G4hMultipleScattering();
G4VProcess* thedueIonisation = new G4hIonisation();
//
pManager->AddProcess(thedueIonisation);
@@ -143,7 +143,7 @@ void RE02IonPhysics::ConstructProcess()
theTritonInelasticProcess->RegisterMe(theTritonLEPModel);
pManager->AddDiscreteProcess(theTritonInelasticProcess);
G4VProcess* thetriMultipleScattering = new G4MultipleScattering();
G4VProcess* thetriMultipleScattering = new G4hMultipleScattering();
G4VProcess* thetriIonisation = new G4hIonisation();
//
pManager->AddProcess(thetriIonisation);
@@ -175,7 +175,7 @@ void RE02IonPhysics::ConstructProcess()
theAlphaInelasticProcess->RegisterMe(theAlphaLEPModel);
pManager->AddDiscreteProcess(theAlphaInelasticProcess);
G4VProcess* thealpMultipleScattering = new G4MultipleScattering();
G4VProcess* thealpMultipleScattering = new G4hMultipleScattering();
G4VProcess* thealpIonisation = new G4hIonisation();
//
pManager->AddProcess(thealpIonisation);
@@ -200,7 +200,7 @@ void RE02IonPhysics::ConstructProcess()
thehe3ElasticProcess->RegisterMe(thehe3ElasticModel);
pManager->AddDiscreteProcess(thehe3ElasticProcess);
G4VProcess* thehe3MultipleScattering = new G4MultipleScattering();
G4VProcess* thehe3MultipleScattering = new G4hMultipleScattering();
G4VProcess* thehe3Ionisation = new G4hIonisation();
//
pManager->AddProcess(thehe3Ionisation);
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RE02MuonPhysics.cc,v 1.2 2006/06/29 17:45:23 gunter Exp $
// $Id: RE02MuonPhysics.cc,v 1.3 2010/04/07 01:29:00 asaim Exp $
// --------------------------------------------------------------
//
// 09-Oct-2003 mu+- tau+- processes are changed by T. Koi
@@ -61,7 +61,7 @@ void RE02MuonPhysics::ConstructProcess()
//Muon+
pManager = G4MuonPlus::MuonPlus()->GetProcessManager();
G4VProcess* thempMultipleScattering = new G4MultipleScattering();
G4VProcess* thempMultipleScattering = new G4MuMultipleScattering();
G4VProcess* thempBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* thempPairProduction = new G4MuPairProduction();
G4VProcess* thempIonisation = new G4MuIonisation();
@@ -86,7 +86,7 @@ void RE02MuonPhysics::ConstructProcess()
//Muon-
pManager = G4MuonMinus::MuonMinus()->GetProcessManager();
G4VProcess* themmMultipleScattering = new G4MultipleScattering();
G4VProcess* themmMultipleScattering = new G4MuMultipleScattering();
G4VProcess* themmBremsstrahlung = new G4MuBremsstrahlung();
G4VProcess* themmPairProduction = new G4MuPairProduction();
G4VProcess* themmIonisation = new G4MuIonisation();
@@ -110,7 +110,7 @@ void RE02MuonPhysics::ConstructProcess()
// Tau+ Physics
pManager = G4TauPlus::TauPlus()->GetProcessManager();
G4VProcess* thetpMultipleScattering = new G4MultipleScattering();
G4VProcess* thetpMultipleScattering = new G4hMultipleScattering();
G4VProcess* thetpIonisation = new G4hIonisation();
//
// add processes
@@ -127,7 +127,7 @@ void RE02MuonPhysics::ConstructProcess()
// Tau- Physics
pManager = G4TauMinus::TauMinus()->GetProcessManager();
G4VProcess* thetmMultipleScattering = new G4MultipleScattering();
G4VProcess* thetmMultipleScattering = new G4hMultipleScattering();
G4VProcess* thetmIonisation = new G4hIonisation();
//
// add processes
@@ -69,7 +69,7 @@ RE02NestedPhantomParameterisation::~RE02NestedPhantomParameterisation(){
//
// Material assignment to geometry.
//
G4Material* RE02NestedPhantomParameterisation::ComputeMaterial(G4VPhysicalVolume* currentVol,
G4Material* RE02NestedPhantomParameterisation::ComputeMaterial(G4VPhysicalVolume* /*currentVol*/,
const G4int copyNo,
const G4VTouchable* parentTouch)
{
+68 -19
View File
@@ -5,34 +5,83 @@
# Sets some default verbose
#
/control/verbose 2
/vis/verbose confirmations
/run/verbose 2
#/tracking/verbose 2
#
# create empty scene
# Use this open statement to create an OpenGL view:
/vis/open OGL 600x600-0+0
#
/vis/scene/create
#
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#
#/vis/open VRML2FILE
/vis/open OGLIX
# Use this open statement to create a .prim file suitable for
# viewing in DAWN:
#/vis/open DAWNFILE
#/vis/open DAWN
#
# draw scene
# Use this open statement to create a .heprep file suitable for
# viewing in HepRApp:
#/vis/open HepRepFile
#
/vis/viewer/set/viewpointThetaPhi 90 180 deg
#/vis/viewer/set/viewpointThetaPhi -90 90 deg
# Use this open statement to create a .wrl file suitable for
# viewing in a VRML viewer:
#/vis/open VRML2FILE
#
# Disable auto refresh and quieten vis messages whilst scene and
# trajectories are established:
/vis/viewer/set/autoRefresh false
/vis/verbose errors
#
# Draw geometry:
/vis/drawVolume
#
# Specify view angle:
/vis/viewer/set/viewpointThetaPhi 90. 180.
#
# Specify zoom value:
/vis/viewer/zoom 1.4
#/vis/viewer/flush
#
# for drawing the tracks
# (if too many tracks cause core dump => storeTrajectory 0)
/tracking/storeTrajectory 1
/vis/scene/add/trajectories
# (if you prefer refreshing each event, comment out next line)
# Make all invisible - final voxels will be drawn with computed vis attrubutes
#/vis/geometry/set/visibility Phantom -1 false
#
# Specify style (surface or wireframe):
#/vis/viewer/set/style wireframe
#
# Draw coordinate axes:
#/vis/scene/add/axes 0 0 0 1 m
#
# Draw smooth trajectories at end of event, showing trajectory points
# as markers 2 pixels wide:
/vis/scene/add/trajectories smooth
/vis/modeling/trajectories/create/drawByCharge
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
# (if too many tracks cause core dump => /tracking/storeTrajectory 0)
#
# Draw hits at end of event:
#/vis/scene/add/hits
#
# To draw only gammas:
#/vis/filtering/trajectories/create/particleFilter
#/vis/filtering/trajectories/particleFilter-0/add gamma
#
# To invert the above, drawing all particles except gammas,
# keep the above two lines but also add:
#/vis/filtering/trajectories/particleFilter-0/invert true
#
# Many other options are available with /vis/modeling and /vis/filtering.
# For example, to select colour by particle ID:
#/vis/modeling/trajectories/create/drawByParticleID
#/vis/modeling/trajectories/drawByParticleID-0/set e- blue
#
# To superimpose all of the events from a given run:
/vis/scene/endOfEventAction accumulate
#
/vis/viewer/set/targetPoint 0 100 0 mm
/vis/viewer/zoomTo 10000000
#
# Re-establish auto refreshing and verbosity:
/vis/viewer/set/autoRefresh true
/vis/verbose warnings
#
# For file-based drivers, use this to create an empty detector view:
#/vis/viewer/flush
#
/run/beamOn 100
+7 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.2 2008/11/24 17:34:46 asaim Exp $
$Id: History,v 1.4 2010/11/08 20:14:41 allison Exp $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +15,12 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
Nov. 07, 2010 J.Allison (exampleRE03-V09-03-01)
- Introduced G4UIExecutive.
Apr. 06, 2010 M.Asai (exampleRE03-V09-03-00)
- Replace G4MultipleScattering with G4eMultipleScattering, G4MuMultipleScattering and G4hMultipleScattring.
Nov. 23, 08 M.Asai (exampleRE03-V09-01-00)
- Add "run4.mac" with cylindrical scoring mesh.
+20 -25
View File
@@ -24,23 +24,26 @@
// ********************************************************************
//
//
// $Id: RE03.cc,v 1.4 2007/11/17 01:26:01 asaim Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE03.cc,v 1.5 2010/11/08 20:14:41 allison Exp $
// GEANT4 tag $Name: geant4-09-04 $
//
//
#include "G4RunManager.hh"
#include "G4UImanager.hh"
#include "G4UIterminal.hh"
#include "G4UItcsh.hh"
#include "G4ScoringManager.hh"
#include "RE03DetectorConstruction.hh"
#include "RE03PhysicsList.hh"
#include "RE03PrimaryGeneratorAction.hh"
#ifdef G4VIS_USE
#include "G4VisExecutive.hh"
#endif
#include "RE03DetectorConstruction.hh"
#include "RE03PhysicsList.hh"
#include "RE03PrimaryGeneratorAction.hh"
#ifdef G4UI_USE
#include "G4UIExecutive.hh"
#endif
//====================================================================
// Un-comment this line for user defined score writer
@@ -74,11 +77,9 @@ int main(int argc,char** argv)
//
G4VUserPrimaryGeneratorAction* gen_action = new RE03PrimaryGeneratorAction;
runManager->SetUserAction(gen_action);
//
#ifdef G4VIS_USE
// Visualization manager
//
G4VisManager* visManager = new G4VisExecutive;
visManager->Initialize();
#endif
@@ -89,30 +90,24 @@ int main(int argc,char** argv)
// Get the pointer to the User Interface manager
//
G4UImanager* UI = G4UImanager::GetUIpointer();
UI->ApplyCommand("/control/execute vis.mac");
G4UImanager* UImanager = G4UImanager::GetUIpointer();
if (argc==1) // Define UI session for interactive mode
{
G4UIsession* session=0;
// G4UIterminal is a (dumb) terminal
//
#ifdef G4UI_USE_TCSH
session = new G4UIterminal(new G4UItcsh);
#else
session = new G4UIterminal();
#endif
session->SessionStart();
delete session;
#ifdef G4UI_USE
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
#ifdef G4VIS_USE
UImanager->ApplyCommand("/control/execute vis.mac");
#endif
ui->SessionStart();
delete ui;
#endif
}
else // Batch mode
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UI->ApplyCommand(command+fileName);
UImanager->ApplyCommand(command+fileName);
}
// Job termination
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: RE03PhysicsList.cc,v 1.1 2007/11/13 19:55:43 asaim Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: RE03PhysicsList.cc,v 1.2 2010/04/07 01:30:07 asaim Exp $
// GEANT4 tag $Name: geant4-09-04-beta-01 $
//
//
@@ -120,16 +120,17 @@ void RE03PhysicsList::ConstructProcess()
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
#include "G4MultipleScattering.hh"
#include "G4eMultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"
#include "G4MuMultipleScattering.hh"
#include "G4MuIonisation.hh"
#include "G4MuBremsstrahlung.hh"
#include "G4MuPairProduction.hh"
#include "G4hMultipleScattering.hh"
#include "G4hIonisation.hh"
void RE03PhysicsList::ConstructEM()
@@ -148,13 +149,13 @@ void RE03PhysicsList::ConstructEM()
} else if (particleName == "e-") {
//electron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
} else if (particleName == "e+") {
//positron
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eMultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4eIonisation, -1, 2,2);
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3);
pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4);
@@ -162,7 +163,7 @@ void RE03PhysicsList::ConstructEM()
} else if( particleName == "mu+" ||
particleName == "mu-" ) {
//muon
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4MuIonisation, -1, 2,2);
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3);
pmanager->AddProcess(new G4MuPairProduction, -1, 4,4);
@@ -171,7 +172,7 @@ void RE03PhysicsList::ConstructEM()
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino")) {
//all others charged particles except geantino
pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
pmanager->AddProcess(new G4hIonisation, -1, 2,2);
}
}
+1 -1
View File
@@ -6,7 +6,7 @@
# Create a scene handler for a specific graphics system
# (Edit the next line(s) to choose another graphic system)
#
/vis/open OGLIX
/vis/open OGL
#
# draw scene
#