Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
+134
View File
@@ -0,0 +1,134 @@
//$Id$
///\file "persistency/P03/.README"
///\brief ExampleP03 README page
/*! \page ExampleP03 Example P03
This example illustrates the use of the text geometry.
\section P03_s1 GEOMETRY EXAMPLES
Several examples of text geometries are provided:
g4geom_simple.txt :
- Simple construction of materials and single placements
g4geom_matemixt.txt :
- Isotopes, elements and materials
g4geom_boolean.txt :
- Boolean solids
g4geom_reflections.txt :
- Reflections
g4geom_replicas.txt :
- Replicas
g4geom_divisions.txt :
- Divisions
g4geom_paramLinear.txt :
- Linear parameterisations
g4geom_paramSquare.txt :
- Square parameterisations
g4geom_assembly.txt :
- Assembly placements
\section P03_s2 HOW TO START ?
Execute textGeom in 'batch' mode from macro file
\verbatim
% textGeom run.mac
\endverbatim
It will read the geometry from a file named 'g4geom.txt', and it will create a
VRML2 file to visualise the geometry.
Therefore if you want to try any of the above-mentioned files, copy it to a
file with this name,
\section P03_s3 DEFINING A SENSITIVE DETECTOR
The detector construction class ExTGDetectorConstructionWithSD shows how to
access a volume of the text geometry and assign to it a sensitive detector.
To use it, replace at exampleTextGeom.cc the line
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstruction);
\endverbatim
by
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstructionWithSD);
\endverbatim
and recompile.
It will use the geometry from the file 'g4geom_SD.txt'
\section P03_s4 MIXING TEXT AND C++ GEOMETRIES
The detector construction class ExTGDetectorConstructionWithCpp shows how to
create a volume with C++ and place it in the world or inside a volume defined
in the text geometry.
To use it, replace at exampleTextGeom.cc the line
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstruction);
\endverbatim
by
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstructionWithCpp);
\endverbatim
and recompile.
It will use the geometry from the file 'g4geom_simple.txt'
\section P03_s5 CREATING NEW TAGS IN THE TEXT GEOMETRY: DEFINING CUTS PER REGION
The detector construction class ExTGDetectorConstructionWithCuts, together with
ExTGRCLineProcessor, ExTGRCDetectorBuilder, ExTGRCRegionCutsMgr and
ExTGRCRegionData show how to add a couple of tags, ':REGION' and ':CUT', that
allow to define cuts per region in your input geometry text file.
To use it, replace at exampleTextGeom.cc the line
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstruction);
\endverbatim
by
\verbatim
runManager->SetUserInitialization(new ExTGDetectorConstructionWithCuts);
\endverbatim
and recompile.
It will use the geometry from the file 'g4geom_cutsPerRegion.txt'
\section P03_s6 DUMP THE IN-MEMORY GEOMETRY TO TEXT FILE
The run action, ExTGRunAction, triggers the writing of the in-memory Geant4
geometry to a text file.
To use it you just have to uncomment in exampleTextGeom.cc the line
\verbatim
runManager->SetUserAction(new ExTGRunAction);
\endverbatim
and it will read the geometry from the file 'g4geom.txt' and will write the
geometry in a file named 'geom.txt'
*/
@@ -1,12 +1,65 @@
#----------------------------------------------------------------------------
# Setup the project
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(P03)
set(name textGeom)
project(${name})
find_package(Geant4 REQUIRED)
#----------------------------------------------------------------------------
# Find Geant4 package, activating all available UI and Vis drivers by default
# You can set WITH_GEANT4_UIVIS to OFF via the command line or ccmake/cmake-gui
# to build a batch mode only executable
#
option(WITH_GEANT4_UIVIS "Build example with Geant4 UI and Vis drivers" ON)
if(WITH_GEANT4_UIVIS)
find_package(Geant4 REQUIRED ui_all vis_all)
else()
find_package(Geant4 REQUIRED)
endif()
#----------------------------------------------------------------------------
# Setup Geant4 include directories and compile definitions
#
include(${Geant4_USE_FILE})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${Geant4_INCLUDE_DIR})
file(GLOB sources ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
#----------------------------------------------------------------------------
# Locate sources and headers for this project
#
include_directories(${PROJECT_SOURCE_DIR}/include
${Geant4_INCLUDE_DIR})
file(GLOB sources ${PROJECT_SOURCE_DIR}/src/*.cc)
file(GLOB headers ${PROJECT_SOURCE_DIR}/include/*.hh)
#----------------------------------------------------------------------------
# Add the executable, and link it to the Geant4 libraries
#
add_executable(textGeom textGeom.cc ${sources} ${headers})
target_link_libraries(textGeom ${Geant4_LIBRARIES} )
#----------------------------------------------------------------------------
# Copy all scripts to the build directory, i.e. the directory in which we
# build P03. This is so that we can run the executable directly because it
# relies on these scripts being in the current working directory.
#
set(P03_SCRIPTS
batch.mac run.mac
g4geom_assembly.txt g4geom_boolean.txt g4geom_cutsPerRegion.txt g4geom_divisions.txt g4geom_matemixt.txt g4geom_paramLinear.txt g4geom_paramSquare.txt g4geom_reflections.txt g4geom_replicas.txt g4geom_SD.txt g4geom_simple.txt g4geom.txt geom.txt
)
foreach(_script ${P03_SCRIPTS})
configure_file(
${PROJECT_SOURCE_DIR}/${_script}
${PROJECT_BINARY_DIR}/${_script}
COPYONLY
)
endforeach()
#----------------------------------------------------------------------------
# Add program to the project targets
# (this avoids the need of typing the program name after make)
#
add_custom_target(P03 DEPENDS textGeom)
#----------------------------------------------------------------------------
# Install the executable to 'bin' directory under CMAKE_INSTALL_PREFIX
#
install(TARGETS textGeom DESTINATION bin)
add_executable(${name} EXCLUDE_FROM_ALL ${name}.cc ${sources})
target_link_libraries(${name} ${Geant4_LIBRARIES})
File diff suppressed because it is too large Load Diff
+14
View File
@@ -14,7 +14,21 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
17 July 2012 I. Hrivnacova (exampleP03-V09-05-02)
--------------------------
- Restored file descriptions in .hh and moved class description
at the right place
17 July 2012 I. Hrivnacova (exampleP03-V09-05-01)
--------------------------
- Improved .README file
6 July 2012 P. Arce (exampleP03-V09-05-00)
--------------------------
- Reviewed examples according to coding guidelines
25 January 2011 G.Folger (exampleP03-V09-04-00)
--------------------------
- re-tag, as tag was not included in geant4-09-04
9 November 2010 G.Folger (exampleP03-V09-03-04)
-4
View File
@@ -42,10 +42,6 @@ g4geom_assembly.txt :
2.- HOW TO START ?
- compile and link to generate an executable
% cd P03
% make
- execute textGeom in 'batch' mode from macro file
% textGeom run.mac
-389
View File
@@ -1,389 +0,0 @@
############################################
!!! WARNING - FPE detection is activated !!!
############################################
*************************************************************
Geant4 version Name: geant4-09-05-ref-00 (2-December-2011)
Copyright : Geant4 Collaboration
Reference : NIM A 506 (2003), 250-303
WWW : http://cern.ch/geant4
*************************************************************
Visualization Manager instantiating with verbosity "warnings (3)"...
Visualization Manager initialising...
Registering graphics systems...
You have successfully registered the following graphics systems.
Current available graphics systems are:
ASCIITree (ATree)
DAWNFILE (DAWNFILE)
G4HepRep (HepRepXML)
G4HepRepFile (HepRepFile)
RayTracer (RayTracer)
VRML1FILE (VRML1FILE)
VRML2FILE (VRML2FILE)
gMocrenFile (gMocrenFile)
OpenGLStoredX (OGL)
OpenGLImmediateX (OGLI)
OpenGLStoredX (OGLS)
OpenGLImmediateX (OGLIX)
OpenGLStoredX (OGLSX)
Registering model factories...
You have successfully registered the following model factories.
Registered model factories:
generic
drawByCharge
drawByParticleID
drawByOriginVolume
drawByAttribute
Registered filter factories:
chargeFilter
particleFilter
originVolumeFilter
attributeFilter
Some /vis commands (optionally) take a string to specify colour.
Available colours:
black, blue, cyan, gray, green, grey, magenta, red, white, yellow
/geometry/textInput/verbose 0
/run/initialize
userDetector->Construct() start.
world is registered to the default region.
physicsList->Construct() start.
physicsList->Construct() start.
physicsList->CheckParticleList() start.
physicsList->setCut() start.
/vis/open ATree
/vis/viewer/set/autoRefresh false
/vis/verbose errors
Visualization verbosity changed to errors (2)
/vis/drawVolume
/vis/scene/add/trajectories smooth
/tracking/storeTrajectory 2
Attributes available for modeling and filtering with
"/vis/modeling/trajectories/create/drawByAttribute" and
"/vis/filtering/trajectories/create/attributeFilter" commands:
G4SmoothTrajectory:
Charge (Ch): unit: e+ (G4double)
Track ID (ID): G4int
Initial kinetic energy (IKE): G4BestUnit (G4double)
Initial momentum magnitude (IMag): G4BestUnit (G4double)
Initial momentum (IMom): G4BestUnit (G4ThreeVector)
No. of points (NTP): G4int
PDG Encoding (PDG): G4int
Parent ID (PID): G4int
Particle Name (PN): G4String
G4SmoothTrajectoryPoint:
Auxiliary Point Position (Aux): G4BestUnit (G4ThreeVector)
Step Position (Pos): G4BestUnit (G4ThreeVector)
/vis/scene/notifyHandlers
/vis/modeling/trajectories/create/drawByCharge
/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true
/vis/scene/notifyHandlers scene-0
/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2
/vis/scene/notifyHandlers scene-0
/vis/scene/endOfEventAction accumulate
/vis/viewer/set/autoRefresh true
/vis/viewer/refresh
G4ASCIITreeSceneHandler::BeginModeling: writing to G4 standard output (G4cout)
# Set verbosity with "/vis/ASCIITree/verbose <verbosity>":
# < 10: - does not print daughters of repeated placements, does not repeat replicas.
# >= 10: prints all physical volumes.
# The level of detail is given by verbosity%10:
# for each volume:
# >= 0: physical volume name.
# >= 1: logical volume name (and names of sensitive detector and readout geometry, if any).
# >= 2: solid name and type.
# >= 3: volume and density.
# >= 5: daughter-subtracted volume and mass.
# and in the summary at the end of printing:
# >= 4: daughter-included mass of top physical volume(s) in scene to depth specified.
# Note: by default, culling is switched off so all volumes are seen.
# Note: the mass calculation takes into account daughters, which can be time consuming. If you want the mass of a particular subtree to a particular depth:
# /vis/open ATree
# /vis/ASCIITree/verbose 14
# /vis/scene/create
# /vis/scene/add/volume <subtree-physical-volume> ! <depth>
# /vis/sceneHandler/attach
# /vis/viewer/flush
# Now printing with verbosity 0
# Format is: PV:n
# Abbreviations: PV = Physical Volume, LV = Logical Volume,
# SD = Sensitive Detector, RO = Read Out Geometry.
"world":0
"my tube":1
"sphere":1
G4ASCIITreeSceneHandler::EndModeling
/vis/verbose warnings
Visualization verbosity changed to warnings (3)
/gun/particle gamma
/gun/energy 10 MeV
/tracking/verbose 0
/run/beamOn 10
phot: for gamma SubType= 12
===== EM models for the G4Region DefaultRegionForTheWorld ======
PhotoElectric : Emin= 0 eV Emax= 10 TeV
compt: for gamma SubType= 13
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
Klein-Nishina : Emin= 0 eV Emax= 10 TeV
conv: for gamma SubType= 14
Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
BetheHeitler : Emin= 0 eV Emax= 10 TeV
msc: for e- SubType= 10
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc95 : Emin= 0 eV Emax= 10 TeV
eIoni: for e- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
eBrem: for e- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
LPM flag: 1 for E > 1 GeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV AngularGenUrban
eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban
eIoni: for e+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
MollerBhabha : Emin= 0 eV Emax= 10 TeV
eBrem: for e+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
LPM flag: 1 for E > 1 GeV
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV AngularGenUrban
eBremLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban
annihil: for e+ SubType= 5
===== EM models for the G4Region DefaultRegionForTheWorld ======
eplus2gg : Emin= 0 eV Emax= 10 TeV
msc: for proton SubType= 10
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc90 : Emin= 0 eV Emax= 10 TeV
hIoni: for proton SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
hIoni: for anti_proton SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 10 TeV
msc: for kaon+ SubType= 10
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc90 : Emin= 0 eV Emax= 10 TeV
hIoni: for kaon+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
hIoni: for kaon- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV
BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV
muMsc: for mu+ SubType= 10
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc90 : Emin= 0 eV Emax= 10 TeV
muIoni: for mu+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
muBrems: for mu+ SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 10 TeV
muPairProd: for mu+ SubType= 4
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
muIoni: for mu- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 200 keV
BetheBloch : Emin= 200 keV Emax= 1 GeV
MuBetheBloch : Emin= 1 GeV Emax= 10 TeV
muBrems: for mu- SubType= 3
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
MuBrem : Emin= 0 eV Emax= 10 TeV
muPairProd: for mu- SubType= 4
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
muPairProd : Emin= 0 eV Emax= 10 TeV
hIoni: for pi+ SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
Bragg : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
msc: for pi- SubType= 10
Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1
RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
UrbanMsc90 : Emin= 0 eV Emax= 10 TeV
hIoni: for pi- SubType= 2
dE/dx and range tables from 100 eV to 10 TeV in 77 bins
Lambda tables from threshold to 10 TeV in 77 bins, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
===== EM models for the G4Region DefaultRegionForTheWorld ======
ICRU73QO : Emin= 0 eV Emax= 297.505 keV
BetheBloch : Emin= 297.505 keV Emax= 10 TeV
Region <DefaultRegionForTheWorld> -- -- appears in <world> world volume
This region is in the mass world.
Root logical volume(s) : world
Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0]
Materials : Air G4_WATER G4_AIR
Production cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm
Region <DefaultRegionForParallelWorld> -- -- is not associated to any world.
Root logical volume(s) :
Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0]
Materials :
Production cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes recalculation needed : No
Material : Air
Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm
Energy thresholds : gamma 990 eV e- 15.9574 keV e+ 15.735 keV proton 1 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes recalculation needed : No
Material : G4_WATER
Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm
Energy thresholds : gamma 7.73912 keV e- 2.13081 MeV e+ 2.01928 MeV proton 1 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 2 used in the geometry : Yes recalculation needed : No
Material : G4_AIR
Range cuts : gamma 1 cm e- 1 cm e+ 1 cm proton 1 cm
Energy thresholds : gamma 990 eV e- 15.919 keV e+ 15.479 keV proton 1 MeV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
Start closing geometry.
G4GeometryManager::ReportVoxelStats -- Voxel Statistics
Total memory consumed for geometry optimisation: 0 kByte
Total CPU time elapsed for geometry optimisation: 0 seconds
/vis/scene/notifyHandlers scene-0
G4ASCIITreeSceneHandler::BeginModeling: writing to G4 standard output (G4cout)
# Set verbosity with "/vis/ASCIITree/verbose <verbosity>":
# < 10: - does not print daughters of repeated placements, does not repeat replicas.
# >= 10: prints all physical volumes.
# The level of detail is given by verbosity%10:
# for each volume:
# >= 0: physical volume name.
# >= 1: logical volume name (and names of sensitive detector and readout geometry, if any).
# >= 2: solid name and type.
# >= 3: volume and density.
# >= 5: daughter-subtracted volume and mass.
# and in the summary at the end of printing:
# >= 4: daughter-included mass of top physical volume(s) in scene to depth specified.
# Note: by default, culling is switched off so all volumes are seen.
# Note: the mass calculation takes into account daughters, which can be time consuming. If you want the mass of a particular subtree to a particular depth:
# /vis/open ATree
# /vis/ASCIITree/verbose 14
# /vis/scene/create
# /vis/scene/add/volume <subtree-physical-volume> ! <depth>
# /vis/sceneHandler/attach
# /vis/viewer/flush
# Now printing with verbosity 0
# Format is: PV:n
# Abbreviations: PV = Physical Volume, LV = Logical Volume,
# SD = Sensitive Detector, RO = Read Out Geometry.
"world":0
"my tube":1
"sphere":1
G4ASCIITreeSceneHandler::EndModeling
Start Run processing.
Run terminated.
Run Summary
Number of events processed : 10
User=0s Real=0s Sys=0s
10 events have been kept for refreshing and/or reviewing.
Graphics systems deleted.
Visualization Manager deleting...
UserDetectorConstruction deleted.
UserPhysicsList deleted.
UserRunAction deleted.
UserPrimaryGenerator deleted.
G4 kernel has come to Quit state.
EventManager deleted.
UImanager deleted.
Units table cleared.
StateManager deleted.
RunManagerKernel is deleted.
RunManager is deleting.
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstruction.hh,v 1.4 2010-11-05 08:52:34 gcosmo Exp $
/// \file persistency/P03/include/ExTGDetectorConstruction.hh
/// \brief Definition of the ExTGDetectorConstruction class
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGDetectorConstruction_HH
#define ExTGDetectorConstruction_HH
@@ -35,6 +36,8 @@
class G4tgrMessenger;
/// Detector construction class using text geometry file
class ExTGDetectorConstruction : public G4VUserDetectorConstruction
{
public:
@@ -46,7 +49,7 @@ class ExTGDetectorConstruction : public G4VUserDetectorConstruction
private:
G4tgrMessenger* messenger;
G4tgrMessenger* fMessenger;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstructionWithCpp.hh,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGDetectorConstructionWithCpp.hh
/// \brief Definition of the ExTGDetectorConstructionWithCpp class
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGDetectorConstructionWithCpp_HH
#define ExTGDetectorConstructionWithCpp_HH
@@ -36,6 +36,8 @@
class G4tgrMessenger;
/// Detector construction class using text geometry file and C++ code
class ExTGDetectorConstructionWithCpp : public G4VUserDetectorConstruction
{
public:
@@ -47,7 +49,7 @@ class ExTGDetectorConstructionWithCpp : public G4VUserDetectorConstruction
private:
G4tgrMessenger* messenger;
G4tgrMessenger* fMessenger;
};
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstructionWithCuts.hh,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGDetectorConstructionWithCuts.hh
/// \brief Definition of the ExTGDetectorConstructionWithCuts class
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGDetectorConstructionWithCuts_HH
#define ExTGDetectorConstructionWithCuts_HH
@@ -36,6 +36,8 @@
class G4tgrMessenger;
/// Detector construction class using text geometry file using cuts per region
class ExTGDetectorConstructionWithCuts : public G4VUserDetectorConstruction
{
public:
@@ -47,7 +49,7 @@ class ExTGDetectorConstructionWithCuts : public G4VUserDetectorConstruction
private:
G4tgrMessenger* messenger;
G4tgrMessenger* fMessenger;
};
#endif
@@ -23,11 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/include/ExTGDetectorConstructionWithSD.hh
/// \brief Definition of the ExTGDetectorConstructionWithSD class
//
// $Id: ExTGDetectorConstructionWithSD.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGDetectorConstructionWithSD_h
#define ExTGDetectorConstructionWithSD_h 1
@@ -37,6 +36,8 @@
class G4tgrMessenger;
/// Detector construction class using text geometry file and using a sensitive detector
class ExTGDetectorConstructionWithSD : public G4VUserDetectorConstruction
{
public:
@@ -48,7 +49,7 @@ class ExTGDetectorConstructionWithSD : public G4VUserDetectorConstruction
private:
G4tgrMessenger* messenger;
G4tgrMessenger* fMessenger;
};
#endif
@@ -23,18 +23,17 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/include/ExTGPhysicsList.hh
/// \brief Definition of the ExTGPhysicsList class
//
// $Id: ExTGPhysicsList.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGPhysicsList_h
#define ExTGPhysicsList_h 1
#include "G4VUserPhysicsList.hh"
// ---------------------------------------------------------------------------
/// Example of physics list
class ExTGPhysicsList : public G4VUserPhysicsList
{
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGPrimaryGeneratorAction.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGPrimaryGeneratorAction.hh
/// \brief Definition of the ExTGPrimaryGeneratorAction class
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGPrimaryGeneratorAction_h
#define ExTGPrimaryGeneratorAction_h 1
@@ -36,8 +36,8 @@
class G4ParticleGun;
class G4Event;
// ---------------------------------------------------------------------------
/// Example of primary generator action
class ExTGPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
@@ -49,7 +49,7 @@ class ExTGPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
private:
G4ParticleGun* particleGun;
G4ParticleGun* fParticleGun;
};
// ---------------------------------------------------------------------------
@@ -23,12 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCDetectorBuilder.hh,v 1.5 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGRCDetectorBuilder.hh
/// \brief Definition of the ExTGRCDetectorBuilder class
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGRCDetectorBuilder_h
#define ExTGRCDetectorBuilder_h
@@ -40,6 +38,11 @@
class ExTGRCLineProcessor;
/// Detector builder class implementing cuts per region
///
/// Changes: creation May 2007
/// \author: P. Arce
class ExTGRCDetectorBuilder : public G4tgbDetectorBuilder
{
public:
@@ -51,7 +54,7 @@ class ExTGRCDetectorBuilder : public G4tgbDetectorBuilder
virtual G4VPhysicalVolume* ConstructDetector( const G4tgrVolume* tgrVoltop);
private:
ExTGRCLineProcessor* tlproc;
ExTGRCLineProcessor* fTlproc;
};
#endif
@@ -23,16 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCLineProcessor.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGRCLineProcessor.hh
/// \brief Definition of the ExTGRCLineProcessor class
//
// Description:
//
// This class is a G4tgrFileReader that adds the definition of regions
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGRCLineProcessor_H
#define ExTGRCLineProcessor_H 1
@@ -42,6 +36,11 @@
#include "G4tgrLineProcessor.hh"
/// Line processor that adds the definition of regions
///
/// Changes: creation May 2007
/// \author P. Arce
class ExTGRCLineProcessor : public G4tgrLineProcessor
{
public:
@@ -23,12 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCRegionCutsMgr.hh,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGRCRegionCutsMgr.hh
/// \brief Definition of the ExTGRCRegionCutsMgr class
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGRCRegionCutsMgr_h
#define ExTGRCRegionCutsMgr_h
@@ -38,6 +36,11 @@
class ExTGRCRegionData;
/// Region cuts manager
///
/// Changes: creation May 2007
/// \author P. Arce
class ExTGRCRegionCutsMgr
{
public:
@@ -62,8 +65,8 @@ class ExTGRCRegionCutsMgr
private:
static ExTGRCRegionCutsMgr* theInstance;
std::vector<ExTGRCRegionData*> theRegionDatae;
static ExTGRCRegionCutsMgr* fInstance;
std::vector<ExTGRCRegionData*> fRegionDatae;
};
#endif
@@ -23,12 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCRegionData.hh,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file persistency/P03/include/ExTGRCRegionData.hh
/// \brief Definition of the ExTGRCRegionData class
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGRCRegionData_h
#define ExTGRCRegionData_h
@@ -36,6 +34,11 @@
#include <vector>
#include "globals.hh"
/// Stores cuts per region data
///
/// Changes: creation May 2007
/// \author P. Arce
class ExTGRCRegionData
{
public:
@@ -47,19 +50,19 @@ class ExTGRCRegionData
//--- Get methods
G4String GetRegionName() const { return theRegionName; }
std::vector<G4String> GetLVNames() { return theLVNames; }
G4double GetGammaCut() const { return theGammaCut; }
G4double GetElectronCut() const { return theElectronCut; }
G4double GetPositronCut() const { return thePositronCut; }
G4bool CutsAreSet() const { return bCutsSet; }
G4String GetRegionName() const { return fRegionName; }
std::vector<G4String> GetLVNames() { return fLVNames; }
G4double GetGammaCut() const { return fGammaCut; }
G4double GetElectronCut() const { return fElectronCut; }
G4double GetPositronCut() const { return fPositronCut; }
G4bool CutsAreSet() const { return fbCutsSet; }
private:
G4String theRegionName;
std::vector<G4String> theLVNames;
G4double theGammaCut, theElectronCut, thePositronCut;
G4bool bCutsSet;
G4String fRegionName;
std::vector<G4String> fLVNames;
G4double fGammaCut, fElectronCut, fPositronCut;
G4bool fbCutsSet;
};
#endif
@@ -23,11 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/include/ExTGRunAction.hh
/// \brief Definition of the ExTGRunAction class
//
// $Id: ExTGRunAction.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGRunAction_h
#define ExTGRunAction_h 1
@@ -37,6 +36,8 @@
class G4Run;
/// Dumps geometry in text format
class ExTGRunAction : public G4UserRunAction
{
public:
@@ -23,11 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/include/ExTGTrackerHit.hh
/// \brief Definition of the ExTGTrackerHit class
//
// $Id: ExTGTrackerHit.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGTrackerHit_h
#define ExTGTrackerHit_h 1
@@ -37,6 +36,8 @@
#include "G4Allocator.hh"
#include "G4ThreeVector.hh"
/// Example of hit
class ExTGTrackerHit : public G4VHit
{
public:
@@ -53,22 +54,22 @@ class ExTGTrackerHit : public G4VHit
void Draw();
void Print();
void SetTrackID (G4int track) { trackID = track; };
void SetChamberNb(G4int chamb) { chamberNb = chamb; };
void SetEdep (G4double de) { edep = de; };
void SetPos (G4ThreeVector xyz){ pos = xyz; };
void SetTrackID (G4int track) { fTrackID = track; };
void SetChamberNb(G4int chamb) { fChamberNb = chamb; };
void SetEdep (G4double de) { fEdep = de; };
void SetPos (G4ThreeVector xyz){ fPos = xyz; };
G4int GetTrackID() { return trackID; };
G4int GetChamberNb() { return chamberNb; };
G4double GetEdep() { return edep; };
G4ThreeVector GetPos(){ return pos; };
G4int GetTrackID() { return fTrackID; };
G4int GetChamberNb() { return fChamberNb; };
G4double GetEdep() { return fEdep; };
G4ThreeVector GetPos(){ return fPos; };
private:
G4int trackID;
G4int chamberNb;
G4double edep;
G4ThreeVector pos;
G4int fTrackID;
G4int fChamberNb;
G4double fEdep;
G4ThreeVector fPos;
};
// ---------------------------------------------------------------------------
@@ -23,11 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/include/ExTGTrackerSD.hh
/// \brief Definition of the ExTGTrackerSD class
//
// $Id: ExTGTrackerSD.hh,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// ---------------------------------------------------------------------------
// $Id$
#ifndef ExTGTrackerSD_h
#define ExTGTrackerSD_h 1
@@ -38,6 +37,8 @@
class G4Step;
class G4HCofThisEvent;
/// Example of Sensitive detector
class ExTGTrackerSD : public G4VSensitiveDetector
{
public:
@@ -51,7 +52,7 @@ class ExTGTrackerSD : public G4VSensitiveDetector
private:
ExTGTrackerHitsCollection* trackerCollection;
ExTGTrackerHitsCollection* fTrackerCollection;
};
#endif
@@ -23,28 +23,28 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstruction.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGDetectorConstruction.cc
/// \brief Implementation of the ExTGDetectorConstruction class
#include "G4tgbVolumeMgr.hh"
#include "ExTGDetectorConstruction.hh"
#include "G4tgrMessenger.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstruction::ExTGDetectorConstruction()
{
messenger = new G4tgrMessenger;
{
fMessenger = new G4tgrMessenger;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstruction::~ExTGDetectorConstruction()
{
delete messenger;
delete fMessenger;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExTGDetectorConstruction::Construct()
{
//------------------------------------------------
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstructionWithCpp.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGDetectorConstructionWithCpp.cc
/// \brief Implementation of the ExTGDetectorConstructionWithCpp class
#include "G4tgbVolumeMgr.hh"
#include "ExTGDetectorConstructionWithCpp.hh"
@@ -36,19 +36,19 @@
#include "G4PVPlacement.hh"
#include "G4NistManager.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithCpp::ExTGDetectorConstructionWithCpp()
{
messenger = new G4tgrMessenger;
fMessenger = new G4tgrMessenger;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithCpp::~ExTGDetectorConstructionWithCpp()
{
delete messenger;
delete fMessenger;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExTGDetectorConstructionWithCpp::Construct()
{
//------------------------------------------------
@@ -23,26 +23,29 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGDetectorConstructionWithCuts.cc,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGDetectorConstructionWithCuts.cc
/// \brief Implementation of the ExTGDetectorConstructionWithCuts class
#include "ExTGDetectorConstructionWithCuts.hh"
#include "ExTGRCDetectorBuilder.hh"
#include "G4tgbVolumeMgr.hh"
#include "G4tgrMessenger.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithCuts::ExTGDetectorConstructionWithCuts()
{
messenger = new G4tgrMessenger;
fMessenger = new G4tgrMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithCuts::~ExTGDetectorConstructionWithCuts()
{
delete messenger;
delete fMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExTGDetectorConstructionWithCuts::Construct()
{
//------------------------------------------------
@@ -24,10 +24,11 @@
// ********************************************************************
//
//
// $Id: ExTGDetectorConstructionWithSD.cc,v 1.3 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGDetectorConstructionWithSD.cc
/// \brief Implementation of the ExTGDetectorConstructionWithSD class
#include "ExTGDetectorConstructionWithSD.hh"
#include "ExTGTrackerSD.hh"
@@ -38,18 +39,19 @@
#include "G4tgbVolumeMgr.hh"
#include "G4tgrMessenger.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithSD::ExTGDetectorConstructionWithSD()
{
messenger = new G4tgrMessenger;
fMessenger = new G4tgrMessenger;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGDetectorConstructionWithSD::~ExTGDetectorConstructionWithSD()
{
delete messenger;
delete fMessenger;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExTGDetectorConstructionWithSD::Construct()
{
//------------------------------------------------
@@ -24,33 +24,32 @@
// ********************************************************************
//
//
// $Id: ExTGPhysicsList.cc,v 1.4 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGPhysicsList.cc
/// \brief Implementation of the ExTGPhysicsList class
#include "globals.hh"
#include "ExTGPhysicsList.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleTypes.hh"
#include "G4SystemOfUnits.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGPhysicsList::ExTGPhysicsList(): G4VUserPhysicsList()
{
defaultCutValue = 1.0*cm;
SetVerboseLevel(1);
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGPhysicsList::~ExTGPhysicsList()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructParticle()
{
// In this method, static member functions should be called
@@ -64,8 +63,7 @@ void ExTGPhysicsList::ConstructParticle()
ConstructBaryons();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructBosons()
{
// pseudo-particles
@@ -76,8 +74,7 @@ void ExTGPhysicsList::ConstructBosons()
G4Gamma::GammaDefinition();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructLeptons()
{
// leptons
@@ -95,8 +92,7 @@ void ExTGPhysicsList::ConstructLeptons()
G4AntiNeutrinoMu::AntiNeutrinoMuDefinition();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructMesons()
{
// mesons
@@ -114,8 +110,7 @@ void ExTGPhysicsList::ConstructMesons()
G4KaonZeroShort::KaonZeroShortDefinition();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructBaryons()
{
// barions
@@ -126,8 +121,7 @@ void ExTGPhysicsList::ConstructBaryons()
G4AntiNeutron::AntiNeutronDefinition();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::ConstructProcess()
{
AddTransportation();
@@ -135,8 +129,7 @@ void ExTGPhysicsList::ConstructProcess()
ConstructGeneral();
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4ComptonScattering.hh"
#include "G4GammaConversion.hh"
#include "G4PhotoElectricEffect.hh"
@@ -158,7 +151,6 @@ void ExTGPhysicsList::ConstructProcess()
#include "G4StepLimiter.hh"
#include "G4UserSpecialCuts.hh"
// ---------------------------------------------------------------------------
void ExTGPhysicsList::ConstructEM()
{
@@ -208,8 +200,7 @@ void ExTGPhysicsList::ConstructEM()
}
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "G4Decay.hh"
void ExTGPhysicsList::ConstructGeneral()
{
@@ -228,8 +219,7 @@ void ExTGPhysicsList::ConstructGeneral()
}
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPhysicsList::SetCuts()
{
//G4VUserPhysicsList::SetCutsWithDefault method sets
@@ -240,5 +230,4 @@ void ExTGPhysicsList::SetCuts()
if (verboseLevel>0) DumpCutValuesTable();
}
// ---------------------------------------------------------------------------
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGPrimaryGeneratorAction.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGPrimaryGeneratorAction.cc
/// \brief Implementation of the ExTGPrimaryGeneratorAction class
#include "ExTGPrimaryGeneratorAction.hh"
#include "G4Event.hh"
@@ -34,38 +34,35 @@
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "globals.hh"
#include "G4SystemOfUnits.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGPrimaryGeneratorAction::ExTGPrimaryGeneratorAction()
{
G4int n_particle = 1;
particleGun = new G4ParticleGun(n_particle);
fParticleGun = new G4ParticleGun(n_particle);
// default particle
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* particle = particleTable->FindParticle("e-");
particleGun->SetParticleDefinition(particle);
particleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
particleGun->SetParticleEnergy(10*MeV);
fParticleGun->SetParticleDefinition(particle);
fParticleGun->SetParticleMomentumDirection(G4ThreeVector(0.,0.,1.));
fParticleGun->SetParticleEnergy(10*MeV);
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGPrimaryGeneratorAction::~ExTGPrimaryGeneratorAction()
{
delete particleGun;
delete fParticleGun;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGPrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
particleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
fParticleGun->SetParticlePosition(G4ThreeVector(0.*cm,0.*cm,0.*cm));
particleGun->GeneratePrimaryVertex(anEvent);
fParticleGun->GeneratePrimaryVertex(anEvent);
}
// ---------------------------------------------------------------------------
@@ -23,12 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCDetectorBuilder.cc,v 1.5 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
/// \file ExTGRCDetectorBuilder.cc
/// \brief Implementation of the ExTGRCDetectorBuilder class
#include "ExTGRCDetectorBuilder.hh"
#include "ExTGRCLineProcessor.hh"
@@ -37,25 +35,25 @@
#include "G4tgrFileReader.hh"
#include "G4tgrVolumeMgr.hh"
//---------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCDetectorBuilder::ExTGRCDetectorBuilder()
: G4tgbDetectorBuilder(), tlproc(0)
: G4tgbDetectorBuilder(), fTlproc(0)
{
}
//---------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCDetectorBuilder::~ExTGRCDetectorBuilder()
{
if (tlproc) { delete tlproc; }
if (fTlproc) { delete fTlproc; }
}
//---------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
const G4tgrVolume* ExTGRCDetectorBuilder::ReadDetector()
{
//------------------- construct geometry
tlproc = new ExTGRCLineProcessor;
fTlproc = new ExTGRCLineProcessor;
G4tgrFileReader* tfr = G4tgrFileReader::GetInstance();
tfr->SetLineProcessor( tlproc );
tfr->SetLineProcessor( fTlproc );
tfr->ReadFiles();
//---------- find top G4tgrVolume
@@ -65,7 +63,7 @@ const G4tgrVolume* ExTGRCDetectorBuilder::ReadDetector()
return tgrVoltop;
}
//---------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* ExTGRCDetectorBuilder::
ConstructDetector( const G4tgrVolume* tgrVoltop)
{
@@ -23,27 +23,25 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCLineProcessor.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
/// \file ExTGRCLineProcessor.cc
/// \brief Implementation of the ExTGRCLineProcessor class
#include "ExTGRCLineProcessor.hh"
#include "ExTGRCRegionCutsMgr.hh"
//---------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCLineProcessor::ExTGRCLineProcessor() : G4tgrLineProcessor()
{
}
//---------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCLineProcessor::~ExTGRCLineProcessor()
{
}
//---------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool ExTGRCLineProcessor::ProcessLine( const std::vector<G4String>& wl )
{
@@ -23,12 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCRegionCutsMgr.cc,v 1.4 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
/// \file ExTGRCRegionCutsMgr.cc
/// \brief Implementation of the ExTGRCRegionCutsMgr class
#include "ExTGRCRegionCutsMgr.hh"
#include "ExTGRCRegionData.hh"
@@ -41,31 +39,30 @@
#include "G4tgrUtils.hh"
#include "G4UIcommand.hh"
//----------------------------------------------------------------------
ExTGRCRegionCutsMgr* ExTGRCRegionCutsMgr::theInstance = 0;
ExTGRCRegionCutsMgr* ExTGRCRegionCutsMgr::fInstance = 0;
//----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCRegionCutsMgr* ExTGRCRegionCutsMgr::GetInstance()
{
if( !theInstance )
if( !fInstance )
{
theInstance = new ExTGRCRegionCutsMgr;
fInstance = new ExTGRCRegionCutsMgr;
}
return theInstance;
return fInstance;
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCRegionCutsMgr::ExTGRCRegionCutsMgr()
{
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCRegionCutsMgr::~ExTGRCRegionCutsMgr()
{
delete theInstance;
delete fInstance;
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRCRegionCutsMgr::AddRegionData( const std::vector<G4String>& rd )
{
@@ -76,10 +73,10 @@ void ExTGRCRegionCutsMgr::AddRegionData( const std::vector<G4String>& rd )
G4String("Region already exists: " + rd[0]).c_str() );
return;
}
theRegionDatae.push_back( new ExTGRCRegionData( rd ) );
fRegionDatae.push_back( new ExTGRCRegionData( rd ) );
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRCRegionCutsMgr::AddRegionCuts( const std::vector<G4String>& rc )
{
if( rc.size() == 0 )
@@ -109,13 +106,12 @@ void ExTGRCRegionCutsMgr::AddRegionCuts( const std::vector<G4String>& rc )
}
}
//-----------------------------------------------------------------------
std::vector<ExTGRCRegionData*>
ExTGRCRegionCutsMgr::FindRegionData( const G4String& name)
{
std::vector<ExTGRCRegionData*> regs;
std::vector<ExTGRCRegionData*>::const_iterator iter;
for( iter = theRegionDatae.begin(); iter != theRegionDatae.end(); iter++ )
for( iter = fRegionDatae.begin(); iter != fRegionDatae.end(); iter++ )
{
if( G4tgrUtils::AreWordsEquivalent( name , (*iter)->GetRegionName()) )
{
@@ -125,13 +121,13 @@ ExTGRCRegionCutsMgr::FindRegionData( const G4String& name)
return regs;
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRCRegionCutsMgr::BuildRegions()
{
std::vector<ExTGRCRegionData*>::const_iterator iter;
std::vector<G4String>::const_iterator ites;
std::vector<G4LogicalVolume*>::const_iterator itelv;
for( iter = theRegionDatae.begin(); iter != theRegionDatae.end(); iter++ )
for( iter = fRegionDatae.begin(); iter != fRegionDatae.end(); iter++ )
{
G4Region* reg = new G4Region( (*iter)->GetRegionName() );
std::vector<G4String> lvs = (*iter)->GetLVNames();
@@ -144,23 +140,23 @@ void ExTGRCRegionCutsMgr::BuildRegions()
}
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRCRegionCutsMgr::BuildProductionCuts()
{
std::vector<ExTGRCRegionData*>::const_iterator iter;
G4RegionStore* regions = G4RegionStore::GetInstance();
//----- loop to region datae
for( iter = theRegionDatae.begin(); iter != theRegionDatae.end(); iter++ )
for( iter = fRegionDatae.begin(); iter != fRegionDatae.end(); iter++ )
{
if( (*iter)->CutsAreSet() )
{
G4Region* reg = regions->GetRegion( (*iter)->GetRegionName() );
if( !reg )
{
G4Exception("ExTGRCRegionCutsMgr::BuildProductionCuts()",
G4Exception("ExTGRCRegionCutsMgr::BuildProductionCuts()",
"InvalidArgument", FatalErrorInArgument,
G4String("Region not found: " + (*iter)->GetRegionName()).c_str() );
}
}
G4ProductionCuts* cuts = new G4ProductionCuts ;
cuts->SetProductionCut((*iter)->GetGammaCut(),"gamma");
@@ -23,18 +23,17 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRCRegionData.cc,v 1.4 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Author: P. Arce
// Changes: creation May 2007
// ---------------------------------------------------------------------------
/// \file ExTGRCRegionData.cc
/// \brief Implementation of the ExTGRCRegionData class
#include "ExTGRCRegionData.hh"
#include "G4tgrUtils.hh"
#include "G4UIcommand.hh"
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCRegionData::ExTGRCRegionData(const std::vector<G4String>& wl )
{
if( wl.size() < 2 )
@@ -43,20 +42,23 @@ ExTGRCRegionData::ExTGRCRegionData(const std::vector<G4String>& wl )
"InvalidArgument", FatalErrorInArgument,
G4UIcommand::ConvertToString( G4int(wl.size()) ) );
}
theRegionName = wl[0];
fRegionName = wl[0];
for( size_t ii = 1; ii < wl.size(); ii++ )
{
theLVNames.push_back( wl[ii] );
fLVNames.push_back( wl[ii] );
}
bCutsSet = false;
fbCutsSet = false;
fGammaCut = 1.;
fElectronCut = 1.;
fPositronCut = 1.;
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRCRegionData::~ExTGRCRegionData()
{
}
//-----------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRCRegionData::SetCutsData( const std::vector<G4String>& rc )
{
if( (rc.size() != 3) && (rc.size() != 4) )
@@ -70,23 +72,23 @@ void ExTGRCRegionData::SetCutsData( const std::vector<G4String>& rc )
G4UIcommand::ConvertToString( G4int(rc.size()) ) );
}
if( bCutsSet )
if( fbCutsSet )
{
G4Exception("ExTGRCRegionData::SetCutsData()",
"InvalidArgument", JustWarning,
G4String("Cuts are already set for region " + theRegionName).c_str() );
G4String("Cuts are already set for region " + fRegionName).c_str() );
}
theGammaCut = G4tgrUtils::GetDouble( rc[1] );
theElectronCut = G4tgrUtils::GetDouble( rc[2] );
fGammaCut = G4tgrUtils::GetDouble( rc[1] );
fElectronCut = G4tgrUtils::GetDouble( rc[2] );
if( rc.size() == 3 )
{
thePositronCut = theElectronCut;
fPositronCut = fElectronCut;
}
else
{
thePositronCut = G4tgrUtils::GetDouble( rc[3] );
fPositronCut = G4tgrUtils::GetDouble( rc[3] );
}
bCutsSet = true;
fbCutsSet = true;
}
@@ -23,38 +23,33 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ExTGRunAction.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGRunAction.cc
/// \brief Implementation of the ExTGRunAction class
#include "ExTGRunAction.hh"
#include "G4tgbGeometryDumper.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRunAction::ExTGRunAction()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGRunAction::~ExTGRunAction()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRunAction::BeginOfRunAction(const G4Run* )
{
G4tgbGeometryDumper::GetInstance()->DumpGeometry("geom.txt");
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGRunAction::EndOfRunAction(const G4Run*)
{
}
// ---------------------------------------------------------------------------
@@ -24,10 +24,10 @@
// ********************************************************************
//
//
// $Id: ExTGTrackerHit.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGTrackerHit.cc
/// \brief Implementation of the ExTGTrackerHit class
#include "ExTGTrackerHit.hh"
#include "G4UnitsTable.hh"
@@ -38,55 +38,49 @@
G4Allocator<ExTGTrackerHit> ExTGTrackerHitAllocator;
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGTrackerHit::ExTGTrackerHit()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGTrackerHit::~ExTGTrackerHit()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGTrackerHit::ExTGTrackerHit(const ExTGTrackerHit& right)
: G4VHit()
{
trackID = right.trackID;
chamberNb = right.chamberNb;
edep = right.edep;
pos = right.pos;
fTrackID = right.fTrackID;
fChamberNb = right.fChamberNb;
fEdep = right.fEdep;
fPos = right.fPos;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
const ExTGTrackerHit& ExTGTrackerHit::operator=(const ExTGTrackerHit& right)
{
trackID = right.trackID;
chamberNb = right.chamberNb;
edep = right.edep;
pos = right.pos;
fTrackID = right.fTrackID;
fChamberNb = right.fChamberNb;
fEdep = right.fEdep;
fPos = right.fPos;
return *this;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4int ExTGTrackerHit::operator==(const ExTGTrackerHit& right) const
{
return (this==&right) ? 1 : 0;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGTrackerHit::Draw()
{
G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();
if(pVVisManager)
{
G4Circle circle(pos);
G4Circle circle(fPos);
circle.SetScreenSize(2.);
circle.SetFillStyle(G4Circle::filled);
G4Colour colour(1.,0.,0.);
@@ -96,14 +90,12 @@ void ExTGTrackerHit::Draw()
}
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGTrackerHit::Print()
{
G4cout << " trackID: " << trackID << " chamberNb: " << chamberNb
<< " energy deposit: " << G4BestUnit(edep,"Energy")
<< " position: " << G4BestUnit(pos,"Length") << G4endl;
G4cout << " trackID: " << fTrackID << " chamberNb: " << fChamberNb
<< " energy deposit: " << G4BestUnit(fEdep,"Energy")
<< " position: " << G4BestUnit(fPos,"Length") << G4endl;
}
// ---------------------------------------------------------------------------
@@ -24,10 +24,10 @@
// ********************************************************************
//
//
// $Id: ExTGTrackerSD.cc,v 1.2 2010-11-05 08:52:34 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// ---------------------------------------------------------------------------
/// \file ExTGTrackerSD.cc
/// \brief Implementation of the ExTGTrackerSD class
#include "ExTGTrackerSD.hh"
#include "G4HCofThisEvent.hh"
@@ -36,8 +36,7 @@
#include "G4SDManager.hh"
#include "G4ios.hh"
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGTrackerSD::ExTGTrackerSD(G4String name)
:G4VSensitiveDetector(name)
{
@@ -45,28 +44,25 @@ ExTGTrackerSD::ExTGTrackerSD(G4String name)
collectionName.insert(HCname="trackerCollection");
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
ExTGTrackerSD::~ExTGTrackerSD()
{
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGTrackerSD::Initialize(G4HCofThisEvent* HCE)
{
trackerCollection = new ExTGTrackerHitsCollection
fTrackerCollection = new ExTGTrackerHitsCollection
(SensitiveDetectorName,collectionName[0]);
static G4int HCID = -1;
if ( HCID<0 )
{
HCID = G4SDManager::GetSDMpointer()->GetCollectionID(collectionName[0]);
}
HCE->AddHitsCollection( HCID, trackerCollection );
HCE->AddHitsCollection( HCID, fTrackerCollection );
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4bool ExTGTrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory*)
{
G4double edep = aStep->GetTotalEnergyDeposit();
@@ -79,7 +75,7 @@ G4bool ExTGTrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory*)
->GetCopyNumber());
newHit->SetEdep (edep);
newHit->SetPos (aStep->GetPostStepPoint()->GetPosition());
trackerCollection->insert( newHit );
fTrackerCollection->insert( newHit );
//newHit->Print();
//newHit->Draw();
@@ -87,17 +83,15 @@ G4bool ExTGTrackerSD::ProcessHits(G4Step* aStep,G4TouchableHistory*)
return true;
}
// ---------------------------------------------------------------------------
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void ExTGTrackerSD::EndOfEvent(G4HCofThisEvent*)
{
G4int NbHits = trackerCollection->entries();
G4int NbHits = fTrackerCollection->entries();
G4cout << "\n-------->Hits Collection: in this event there are " << NbHits
<< " hits in the tracker chambers: " << G4endl;
for (G4int i=0;i<NbHits;i++)
{
(*trackerCollection)[i]->Print();
(*fTrackerCollection)[i]->Print();
}
}
// ---------------------------------------------------------------------------
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file persistency/P03/textGeom.cc
/// \brief Main program of the persistency/P03 example
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#include "ExTGDetectorConstruction.hh"